Swampert, Hariyama, and Ludicolo.
No
Pokemon cannot learn surf by leveling up. They have to be taught with HM 03.
The most easiest way to get a Pokemon that can surf is get a Zizagoon,it can learn surf.
Surf to an island
I guess you would have to trade for one.
Surf Right of Lilycove
East of Mauville. Use Surf to get over the section of water and then talk to the fisherman.
Any water Pokemon besides magikarp and also linoone can learn surf as well.
there is no pal park in sapphire, but in pearl it is south of sandgem town you will need surf, it turns east and follow it and eventually you will make it there! good luck!!
surf
Try to surf you may find it
hach an egg or surf