There is a way. But it is going to take very long. You need to get the grand prize at the lottery corner 100 times (99 times if you got 1 from Elm).
cheats
you have to somehow get first prize in the lottery in goldenrod city. I've only done it once.i said 100 not one
use strength on the truck
you trade 100 times
hack the game
go to a place. then you have to get the same number as your Pokemon ID:NO.
cloning glitches
You can't.
you cant
use an action replay
Ok this is called the Pokemon modifier by throwing away the master balls to get the id # of the Pokemon then u have to have a certain amount of other things like 100 if u want it to be lv 100 but you need action replay
you get 649 master balls and 100 ultra balls ultra balls = level master balls = national dex number press l+r to reset the modifier to easily get over large numbers toss masterballs