If you want to train a low level Pokemon, you can train it at route 29, 30, 31 and so on. If you want to train a high level Pokemon, you can have a rematch against the Ethile Four because that is the fastest way to train. But if you want to take the slow way, run around in the grass in Kanto. And that is also one way to catch more Pokemon. ;) Im not an expert about where to train your Pokemon because Im trying to find a way too.
well, my advice is to get a team of Pokemon that you can get easily at the beginning that's kind of good. here is my example
1. starter
2. crobat
3. quagsire
4. togekiss
5. golem
6. victreebell
for this team, the starter would be cyndaquil, but it changes for some other starters
chicorita: victreebell would be replaced with a fire type, one that is traded
tododile: quagsire would be replaced with an ice type, one that is traded, or wait till you hit ice cave
another thing i would do is train each pok 10 levels the first 3 gyms (lv 35) and then 5 lvls so by the time you hit the elite four the first time, so ur pok are lvl 50
grass
Mount Silver is the best place to train feraligatr Lv 42 and ampharos lv 37.
The best place to evolve a Pokemon in Pokemon Heart Gold is at Mt. Silver.
victory road
Well that is a hard question. It all depends on the level of your pokemon. To train level 25-30 pokemon the best place is Desert Resort. Another place that is good is Cold Storage.
grass
find a place that has wild Pokemon the same level as it.
soulsilver and heartgold, it has the most trainers
Mount Silver is the best place to train feraligatr Lv 42 and ampharos lv 37.
The best place to evolve a Pokemon in Pokemon Heart Gold is at Mt. Silver.
There is no best Pokemon on Pokemon HeartGold.
It's pretty obvious... EV train (I suggest EV Training in Defense)...
Anywhere with grass pokemon. Especially forests, like the one near the start, Viridian i think. Try the grass gym to if your up to it.
there are many legendary Pokemon in Pokemon heartgold, but the best is HO-OH
elite 4
ANYWHERE
An area with grass Pokemon would be best.