You cannot buy evolution stones in Pokemon Soulsilver, unfortunetely.
But you can get them from the Athlete Shop in the Pokeathalon Dome on certain days of the week -
in exchange for your Athlete Points;They cost around 2000 points each.
Certain trainers will give you evolution stones if they find them when you regester their phone number in your pokegear; and after you get to Kanto, there are more evolution stones to find:
Viridian Forest: You can find a Leaf Stone in here.
Tohjo Falls: You can find a Moon Stone in here.
Bill's grandpa will give you a total of five different evolution stones for showing him different Pokemon:
Everstone If you consider this as a evolution stone
Also, after you get HM08, Rock Climb after beating all 16 gyms, you can get more evolution stones:
Shiny Stone: On a cliff in the northeastern side of National Park.
Dusk Stone: Inside of Cerulean Cave (im not sure)
Dawn Stone: Inside of Mt. Silver (im not sure)