Use a fishing rod.
In HeartGold you can catch Kyogre.
you click on the water with a Pokemon with surf
Pokethan.
Staryu.
A water stone
Some good water Pokemon include (in their fully evolved form):BlastoiseFeraligatrKingdraGarydosKabutops
There is no best Pokemon on Pokemon HeartGold.
there is no Pokemon Mansion in Heartgold.
The Johto starters, Tododile the Water Pokemon, Chikorita the Grass Pokemon, and Cyndaquil the Fire Pokemon
You need the HM Waterfall and teach it to a water Pokemon
You buy it with points at the Pokeathlon Dome.
in the water near cinwood city