No it does not have every Pokemon you can get more types of Pokemon by trading at the GTS or without wi-fi at the second floor of the Pokemon center with the middle lady. hope this helps ;)
Every Pokemon from every region except Unova
Do you have every Pokemon in the game? If not, NO!
you cant unless you migrate
almost in every city in Pokemon
yes you can catch every Pokemon ever made
in every Pokemon centre and some other places as well
yes because in Pokemon HeartGold and SoulSilver you travel to every region.
There is no best Pokemon on Pokemon HeartGold.
You can find it in any Pokemon Center and that's for every single Pokemon game (That I have)
there is no Pokemon Mansion in Heartgold.
There is a Pokemon center in every mapped town in every Pokemon game except for the Rangers and Explorers.
They are not in Pokemon HeartGold