You can get all the Pokemon in the cerulean cave where you find celebi below the cerulean cave.
You can't catch a Wailmer in HeartGold but you can trade with someone to get it. Or you can do what I did and migrate it from another game. But be careful, if you migrate a Pokemon from another game you can't send it back to where it came from.
Here are a few Pokemon that take awhile to evolve: Larvitar, Dratini, Wailmer, Beldum, Bagon.
You have to find it in the cave
Super rod all over the place until you find a wailmer
find a wailmer then evolve it
the Pokemon wailmer can learn it so can clamperl.
You can find Wailmer in the Underwater Zone.
surf nere the sky tower
easy, to find a wailmer in Pokemon ranger 2 you need to go back to the place where wailord was kept hostige. go to a place in the ocean where there are two rocks that need Pokemon with a level 4 crush. after you break the rocks, keep proceeding and you will find a wailmer!
the easiest place to catch it is on mossdeep city and use a super rod in the water, you will ALWAYS find a wailmer this way
You must evolve wailmer/surf and find one on route 129. There are few there. Wailmer will evolve at level 40.
route 223 - 230 super rod