Yes, Rayquaza is a wild Pokémon in HeartGold and SoulSilver. In order to get it in your game, you need to first talk to Mr. Pokémon after you've obtained the National Dex and Professor Oak has given you 1 of his Starter Pokémon. Mr. Pokémon will give you a Blue Orb (in HeartGold) or a Red Orb (in SoulSilver.) Next you take the Orb to the Embedded Tower which is in Route 47. You'll be able to fight and capture either Kyogre (in HeartGold) or Groudon in (SoulSilver.) After catching Kyogre in HeartGold or Groudon in SoulSilver you'll need to trade for the other one and they must be caught in a HeartGold or SoulSilver game. After you get both Kyogre and Groudon in your party talk to Professor Oak in his lab in Pallet Town and he'll give you the Jade Orb. Take it to the Embedded Tower and Rayquaza will be there so you'll be able to fight it as well as catch it too.
Chat with our AI personalities
You'll need to trade for it from Pokemon HeartGold. It is not avilable in the wild in Pokemon SoulSilver.
sadly, it is not found in the wild. you would have to transfer it from diamond, pearl, platinum, heartgold or soulsilver. or if you caught one in white forest in pokemon white, you can trade it from there
kyogre rayquaza and groudon
There is no way of getting a Charizard in Pokemon Diamond, Pearl or Platinum. You can transfer a Charmander from Fire Red to your copy of Pokemon Diamond, Pearl or Platinum. A Charmander, Charmillion and Charizard can all be found in Pokemon Heartgold and Soulsilver as a wild pokemon.
I would reccomed Viridian Forest and Mt. Silver. In Viridian Forest, the wild Pokemon are level 3-5, but the trainers have Pokemon between level 39-45. Mt. Silver has wild Pokemon from level 38-50.