get the sprayduck from golden rod flower shop and water it.
On route 34.
near 5th gym
I advise you to use your map.
Route 45(Rare)
You get it on Route 27 inside the cave
No.
in Pokemon soul silver catch it in route 36, route 37, and route 48. (Note that i don't know if it is the same for silver)
On route 34.
a pokewalker route.
in Pokemon soul silver you can find it at route 36 or route 35
if you mean in Pokemon diamond/pearl/platinum you need to get the national dex!
Ditto is found at Route 34,Route 35 and Route 45
Headbutt trees on route 38
it is north of cerulean city
kecleon
in kanto at route 10
I advise you to use your map.