In Pokémon HeartGold, the Legendary Pokémon that you can catch in "HeartGold" are Articuno, Zapdos, Moltres, Mewtwo, Raikou, Entei, Suicune, Lugia, Ho-Oh, Latias, Latios, Kyogre and Rayquaza however you can only get Latios in "HeartGold" via the use of the Enigma Stone and in order to get Rayquaza, you also need to catch a Groudon that was caught in the Embedded Tower in Pokémon SoulSilver.
afther you beat all the johto gym leders.
Battle the legenary red than catch kyogre
I put a link to a guide all about legendary pokemon in HeartGold in the related links.
You can't. They all run away and you have to run around the region to try to catch them. In the wild grass.
migrate and trade
You catch them all....
defeat all gyms,elite 4 and champion of that region to catch legendary pokemon
yes you can catch every Pokemon ever made
you throw pokeballs at them
After catching Latios, you might want to focus on catching all of the other legendary Pokemon, for example, the roaming Latias and the roaming Raikou and Entei. After catching all of the legendary Pokemon, the only thing left to do is to fill your Pokedex, which is nearly impossible.
no
Moltres is a legendary pokemon all legendary pokemon are harder to capture.