Were do you find a water stone in soul silver?

If you have your Pokewalker, wild Staryu often hold a Water Stone. You can find Staryu in the following routes: Beautiful Beach and Beyond the Sea. You need 200 Watts to unlock Beautiful Beach, and Beyond the Sea is unlocked by getting a Pokemon from another country through the GTS.

The other way is to visit Bill's Grandfather (located in Route 25) and to show him the Pokemon he wants. The water Pokemon that you show him will result in him giving you a water stone.