You can trade with Gym Leaders in Generation IV, but only three: Brock, Lt. Surge, and Jasmine. To trade with them, you need to already have their phone number. Here's how to get their phone numbers, and the Pokémon you can trade with them:
Trading with Brock
- Earn all 16 gym badges.
- To get his phone number, go to Diglett's Cave between 12:00 PM and 3:00 PM any day.
- Brock will trade you a Ryhorn named Hornlette for a Bonsly. The Ryhorn knows Thunder Fang, so it can easily defeat water type foes.
Trading with Lt. Surge
- To get his phone number, go to the Power Plant with a Pikachu following you.
- After catching Zapdos and earning all 16 gym badges, he's there every day between 9:00 AM and 12:00 PM.
- If you go to Saffron City and enter the Saffron Station, he should be there to get his number. Lt. Surge will trade you a Pikachu from another country, named Volty. If you trade him a Pikachu captured in Viridian Forest, he'll give you his Volty in return.