From route 40, surf south until you reach route 41. Then, surf west and you arrive in Cianwood City.
i don't think there is a Canalave city or do you mean Cainwood (across the sea)
you get surf then go to Olivine City and surf until you get to cainwood city.
well....you go to the light house and she askes you to get medacine for the lighthouse Pokemon and the medacine is in cainwood city its acros the ocean at the beach in olavine city to get past the man you have to get the hm surf he will say were it is.
no such thing not in soul silver
no such thing sorry
Saffron City
In Cinnawood City
swim
olivine city
at olivine city
In soul silver and heart gold you find it in euritik city in one of the houses
you do ecruteack city