at victory road.(especially donphan, it will give you 890 exp. points while you're pokemon holding an exp. share)
an easy way is to trade a bunch of your good Pokemon onto Pokemon heart gold but if you don't have a lot of good Pokemon on heart gold and you don't have another game then train a lot before you get there :)
Message Toaster
Mt. Silver,Mt.Silver cave and victory road.
Golduck
The best place to get exp fast is cerulean cave where you find Mewtwo. Hope i helped.
Yes
There is only old, good, and super rods in Pokemon Heart Gold.
The Fishing Guru in Olivine City gives it to you.
In a pokewalker.
I have soul silver but i guess the Pokemon league.
i think you will have to trade it from another game with a Pokemon, good luck! :)
you dont need anything all you do is get your pokemon to lvl.98 then your good to go