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.