All you have to do is train your Pokemon or have a Pokemon with a good ice move
In HeartGold, Lance is the champion, so you'll have to defeat the Elite Four before you can battle him.
use waterfall on dragonite the you use hyper beam on the rest
Lance
first you go to lake of rage and catch or defeat the red gyarados and talk to lance at the shore then you go to the house with a tree beside it finish what you have to do there and then go to the gym
he is the Pokemon league champion
you grow up and get a life :)
Articuno will disappear once you defeat it in HeartGold however you can bring it back in its place within Seafoam Island by defeating the Elite 4 and Lance regardless of whether you've already defeated them or not. Defeating Lance will activate the regeneration process for any Pokémon such as Articuno that is either considered a Legendary or a one-off Pokémon such as Sudowoodo.
You can get Entei and Raikou to come back by defeating the Elite 4 and Lance in Pokémon HeartGold and SoulSilver however this only works if you've defeated them previously. They'll keep on regenerating as long as you beat Lance however once you catch them then they won't regenerate anymore.
Lance helps you with team rocket and then leaves because he is the last of the elite 4
No
You get it by teaming up with Lance and defeat the Team Rocket Headquarters. Lance will give you Whirlpool once you defeat them.
This is what i did. I got a Pokemon that can learn an ice type move, I trained it to level 68, An then I just went and defeated all of lance's Pokemon. *Note: Get a Pokemon that can learn ice fang, avalanche, or blizzard. Hope I Could help!