There were some events where you got a Pikachu that knows Surf. Here's one. For the rest of them go to the source page.
Pikachu (M) @ Lucky Egg
Level - 40
Ability - Static
Nature - Mild
Location - Japan
Games available - DPPt , HGSS
Time availble - 26 Dec 2009 - 25 Dec 2010
Here's the source: serebii.net
Source page: http://www.serebii.net/events/dex/025.shtml
Surf Pikachu is an event Pokemon.
I thought it was in Gen 3 iirc