You need the Fog Badge from Morty the Ecruteak Gym Leader in Ecruteak City before you can use Surf outside of battle.
Chat with our AI personalities
Surf to the right until you find an island he should be there
Simply go to pallet town and surf south
Pokemon Crystal only contained seven HMs. The 8th HM Rock smash isn't available until later generation games. The HM one can get in Pokemon Crystal are cut, fly, whirlpool, waterfall, strength, flash, and surf.
Most if not all water Pokemon should be able to plus a few extra ones such as a couple of normal type Pokemon.
In Pokemon Crystal you can get the HM for Surf in Ecruteak City. The HM for Surf is a reward from an Old Man for defeating the Kimono Girls. The Kimono Girls can be found in the large building next to the pool of water.