There is actually a way to get Pikachu to know Surf. However, this is only possible in the GameBoy edition of the game. Not Virtual Console (which I assume you're using).
>you will need Pokemon Stadium and a transfer pak. A strong team of 5 Pokemon and a pikachu on your Pokemon yellow cartridge is strongly recommended (because you can't use a rental/registered team on stadium).
If you are using the GameBoy version, and you happen to have Stadium and a Transfer Pak for the N64, you can do the following:
>1) Get to round 2 (prime cup, master ball division) using any Pokemon.
2) Now enter the tournament and select pikachu and your other 5 Pokemon from yellow.
3) For every fight, select pikachu. You don't have to use him at all, just have pikachu on your team every round.*
4) After beating the round 2 prime cup (master ball div) you'll get a small cutscene before confirming which move to replace with surf.
Note: Since pikachu is practically useless in the fights, you need to have really good Pokemon that can basically 2v3 the opponent.
Note**: You don't have to be flawless in the tournament, you're allowed to lose a battle
Source