Starting Pokemon
In the beginning of the game, you have a choice between three Pokemon -- Chikorita, Cyndaquil and Totodile. The choice you make at the beginning of the game will effect your chances of seeing a Meganium later on. If you choose Chikorita, you will be able to eventually evolve it to Meganium. If you choose Totodile, your rival will eventually have a Meganium. If you choose Cyndaquil, however, you will need to find a different way to see a Meganium.
Evolution
The easiest way to ensure that you see a Meganium in "Pokemon SoulSilver" is to raise one yourself. After selecting Chikorita as your starting Pokemon, battle with other Pokemon using Chikorita so it can earn experience points and gain levels. You have the option to evolve Chikorita to Bayleef at level 16 and Bayleef to Meganium at level 32. You must choose the evolution both times that they occur or you will lose the option to evolve Chikorita permanently.
Rival
Your rival in "Pokemon SoulSilver" will always choose a starting Pokemon that has an advantage over your starting Pokemon. If you choose the Water Type Totodile as your starter, your rival will choose Chikorita because Water Types are weak against Grass Types. You will battle your rival several times throughout the game and each time his Pokemon will have become stronger. Near the end of the game's storyline his Chikorita will have become a Meganium.
Trading
If you do not have Meganium in your Pokedex you cannot look for a Meganium to trade with on the Global Trade Station. However, if you have a friend with a Meganium who is willing to let you own or borrow the Pokemon, you can still conduct the trade. Both your and your friend must visit a Pokemon Center to conduct the trade via DS to DS connection. You can also trade Meganium to "Pokemon SoulSilver" from "Pokemon HeartGold."