first you go to cerulean city gym. there is a team rocket grunt. he will run away. go farther into gym and run around where you find an inflate able tube. press "A" and you get the part.
in polysyllabic city
In Violet City next to the PC in the Pokemon Center
it is in misty's gym press a on the life savers
in the gym in cearulean city
Fight the galactic grunt and he'll give it to u
it's behind one of the tubes and then you go back and give it to the master dude
He hides the generator in the Cerulean Gym beside a swimming tube at the back of the gym (Around where misty would have been in the Gym)
There is no best Pokemon on Pokemon HeartGold.
there is no Pokemon Mansion in Heartgold.
if you go to the power plant after you have found the missing part and beaten all the gyms he should be there.
easy!go to mistys gym and tap A on the floaty s or tubes or whatever
They are not in Pokemon HeartGold