celadon city
Get 3 or 4 Gym Badges
you go west of ecturek and face the gym leader of olivine
you build up your Pokemon higher than the gym leaders and the you kill the gym leaders Pokemon and as they all faint you will get a badge and you have to move on to nuger 4 gym leader
You can't be a gym leader in any of the pokemon games, you can jusr beat them and earn the badges you need to complete the elite 4
go back to your fathers gym and defeat him
Celadon city.
It's in the amusement park
The first 4 gyms are Rustboro City Gym leader Roxanne, Dewford Town Gym leader Brawly, Maulville City Gym leader Watson and Lavaridge Town Gym Leader.
you find him
Open the door and challenge the gym leader.
Rayquaza and deoxys are the best ... or at least for me....
You get it as a prize for defeating Sabrina, the Saffron gym leader.