You can get EVs anywhere from any Pokemon. Everytime your Pokemon faints another (except in link battles, and maybe the Trainer Tower/Battle Fronteir, not too sure about the TT and BF), it'll get a certain amount of EV added to a certain stat.
Like SRV said in his post, 4 EVs=1 actual stat point. And the Pokemon you faint will usually give you an EV that corresponds with it's (the Pokemon you fainted) dominant stat, although there are a few exceptions out there.
The best places to EV train would just be a place where there are common Pokemon with a certain type of EV. Since you asked this in the RSE forum, I'll just list the places for RSE.
The number listed next to a Pokemon relates to how many EVs it'll give for a certain stat.
HP EVs: For all three versions, go to Rusturf Tunnel. There are nothing but Whismers (2) there.
----------
Attack EVs: If you have Sapphire, go to Mt. Pyre. There are certain floors with nothing but Shuppets (1). Otherwise, fish for Carvanhas (1) and Sharpedos (2) to the east of Mauville City with a Super Rod or fight Poochyena (1) and Mightyena (2).
----------
Defense EVs: Use Dive in the sea area around Sootopolis, Mossdeep, and Lilycove to fight Clamperls (1). You can also fight Seedots (1), Cascoon (2), or Silcoons (2).
----------
Special Attack EVs: Fight Spindas (1) on Route 113 (east of Fallarbor Town, I believe)
----------
Special Defense EVs: Swablu (1), Tentacool (1), and Tentacruel (2). The Abandoned Ship east of Dewford Town has nothing but Tentas. However, wild encounters aren't very common there. The Seafloor Cavern/Underwater Cavern has plenty of Tentacools while surfing.
----------
Speed EVs: Zubats (1) and Golbats (2). The Seafloor Cavern/Underwater Cavern has nothing but Zubats and Golbats when you're walking on land.
Keep in mind that these are not the only Pokemon that give EVs. ALL the Pokemon you fight ranging from trainer battles to wild battles will give EVs.
If you have the Macho Brace, the Pokemon equipped with it will gain double the amount of EVs.
EVs don't actually show that they are having any affect on stats until you level up. If you're at level 100 already, use the box trick that was discovered in GSC. (put the Pokemon in a box, save, reload, take it out)