In Pokemon Heart Gold and Soul Silver you may catch the following Legendary Pokemon:
*Latios or Latias (Depending On Your Game)
*Groudon or Kyogre (Depending On Your Game)
*Rayquaza
*Mewtwo
*Ho-Oh
*Lugia
*Zaptos
*Atricuno
*Moltrace
*Entei
*Raikou
*Suicune
there are many legendary Pokemon in Pokemon heartgold, but the best is HO-OH
I put a link to a guide all about legendary pokemon in HeartGold in the related links.
Sadly, this Pokemon is unavaliable through out normal gameplay
In HeartGold you can catch Kyogre.
It's not the "last" Legendary Pokemon that you can find in Pokemon HeartGold, but most people usually catch that one last given that you need to have both Kyogre and Groudon in your party for Professor Oak to give you the Jade Orb to get to Rayquaza.
Articuno
mew
I don't think you can refight any legendary Pokemon except the wandering dogs.
migrate and trade
Kyogre is only available for Pokemon: Sapphire on the GBA. Ho-Oh is the legendary pokemon available to you in HeartGold.
No legendary can lay an egg except for manaphy which gives an egg to phione and you can not get manaphy or phione in heartgold
yes at supercheats.com/pokemon heartgold action replay codes