Surf is a HM so you can teach it to multiple pokemon.
Two off the top of my head are: Wobuffet and Heracross.
There are two ways. You could use surf just southwest of Fuschia City, or the way I recommend, fly to Pallet Town. Next, go to the water to the south and surf south until you get there.
mew and mew two
There are actually many move tutors around kanto the one at two island can teach all moves your Pokemon tried to learn or even some they never tried to learn.
It's on one island its in the north at Kindle Road you will need Surf to reach there, the spa is the cave near two black belt trainers.
mew and mew two
Mew two
no
You need to have a Pokemon that can learn Surf. In Ecruteak City, go to the house on the very right. Go through it. Surf through the two ponds. Go straight and turn right.
No.
h
AT THE BEGINNING OF THE GAME!!!!! or one,two, or three island