So, if you're looking at 3rd Generation, the version specific Pokemon that are not present in Emerald are:
- Surskit (Swarm in Diamond)
- Masquerain (evolve Surskit)
- Meditite (Routes 208, 210, 211, others, in Diamond)
- Medicham (evolve Meditite)
- Roselia (Routes 212, 221, 224, 225, others, in Diamond)
- Zangoose (Safari Zone in Soul Silver)
- Lunatone (Safari Zone in Soul Silver)
So you're completely covered in 3rd gen due to your later games, though you will have to beat Emerald twice: Once for Latios and once for Latias (Alternatively, buy Ruby or Sapphire, and just pick the other Lati@s in Emerald)
The version exclusive Pokemon absent in Diamond are:
- Tangela (Routes 21, 28, and 44, Mt. Silver in Soul Silver)
- Tangrowth (evolve Tangela)
- Pinsir (Safari Zone / National Park Bug-Catching Contest in Emerald / Soul Silver)
- Articuno, Zapdos and Moltres (Available in Soul Silver)
- Slowpoke (Slowpoke Well in Soul Silver)
- Slowbro/ Slowking (evolve Slowpoke)
- Misdreavous (Safari Zone, Cliff Cave, Mt. Silver (Night) in Soul Silver)
- Mismagius (evolve Misdreavous)
- Houndour (Route 7, Safari Zone, Soul Silver)
- Houndoom (evolve Houndour)
- Stantler (Routes 36, 37, Soul Silver)
- Tropius (Route 119, Emerald)
- Spheal (Shoal Cave, Emerald)
- Sealio / Walrein (evolve Spheal)
- Bagon (Meteor Falls, Emerald)
- Shellgon / Salamance (evolve Bagon)
- Regirock / Regice / Registeel (Emerald)
- Shieldon / Bastiodon (not obtainable in any of the listed games: Need Pearl / Platinum)
- Glameow (not obtainable in the listed games: Need Pearl)
- Rotom (Old Chateau post national-dex, Diamond)
And of course, the White version exclusive Pokemon, which aren't present in the previous generations.
So, you look to be mostly set if you just buy White, as there are only 3 other unobtainable non-event Pokemon. As near as I can determine, buying both Pearl and White will get you all the Pokemon.
I have never thought of the Elite 4 as "End Game," just as I never though of hitting level 60 (and later 70, 80, 85) as "End Game" in WoW. Rather it was just another stepping stone. Because of this attitude, I optimized very differently.
First, I found that 3 Pokemon was about the sweet spot for training at a time. Usually this entailed 1 or 2 (xp share, or swapping) I was focusing on, and a third for backup (someone beefy enough to roll whatever area I was in).
Next, I specifically targeted Pokemon whose EVs I could easily raise. There are a couple areas where you can guarantee which EV you'll get, but usually I lead with a Pokemon whose EVs I didn't care about, and then swapped according to what I ran into (in the case of trainers I could set this up more intelligently). As a result, I was usually targeting only 1 or 2 for actual EV leveling. This process would recur every time I got a Pokemon whom I wanted to level (I usually decide these at game start).
Once a Pokemon had been EV leveled, I could then use it as a clean up for other Pokemon's EV leveling. From a pure XP perspective, having a "clean up" Pokemon (sometimes initiator) means that that Pokemon will be receiving more than its fair share of experience. The end result is that usually the Pokemon that I EV train first end up being my strongest (not just because of EVs).
Finally, as I originally stated my end goal is not the Elite Four; rather I'm eventually targeting competitive play. However, EV training other Pokemon doesn't max out my first couple, so ultimately I end up doing runs on the Elite Four to power level them fast. Usually, by the time I hit my first run I have 4-5 beefy Pokemon fully EV trained, so it's not a major challenge. However, sometimes I haven't spent enough time and that usually means I need to take the time to EV train up a couple more Pokemon so they hit that sweet spot where they start firing on all cylinders.
I realize this may not be exactly your use case, but I think it is something to keep in mind.
Best Answer
According to bulbapedia, trading affects friendship level differently for each generation of the game. I will outlay it in each generation below:
First Generation: Trading will reset to 0
Second Generation: Trading will reset to 70
Third Generation: Trading will reset it to base stats (usually 70 or 140, full list here)
Fourth Generation: Trading will reset it to base stats
Fifth Generation: Trading will reset it to base stats
Thus, no matter what generation the trade is completed in, a freshly traded Golbat will not evolve upon a level up.
Stats other than happiness, such as Effort Values (EVs) and Individual Values (IVs) will however, be preserved.