I know there is a boy in a city who tells you what the type hidden power would be if the pokemon ever knew it, but is there a way to change it?
Hidden Power is based on your Individual Values, which are set in stone as soon as you encounter a Pokemon. So there is no way to change Hidden Power for a Pokemon.
You'll have to breed or catch another Pokemon to get a new HP.
Nope. IV's are set. Sorry!