If you go to the route below Goldenrod City there is a long patch of grass on the left. You will catch them at level 10-15. The moves that they know is "Transform."
Route 34 or Safari Zone
I don't think you can actually catch a pichu but you can catch a pikachu at Viridian Forest and breed it with a ditto.
You can find them in tall grass and catch them, so yes, you do get to see them.
ditto does not evolve
There are 12 starter babies in the Pokemon World To Get Bulbasaur Catch Ivysaur and a Ditto To Get Charmander Catch Charmeleon and a Ditto To Get Squirtle Catch Wartortle and a Ditto To Get Chikorita Catch Bayleef and a Ditto To Get Cyndaquil Catch Quilava and a Ditto To Get Totodile Catch Croconaw and a Ditto To Get Treecko Catch Grovyle and a Ditto To Get Torchic Catch Combusken and a Ditto To Get Mudkip Catch Marshtomp and a Ditto To Get Turtwig Catch Grotle and a Ditto To Get Chimchar Catch Monferno and a Ditto To Get Piplup Catch Prinplup and a Ditto
No.
Pichu is not available to catch. Instead, you must breed a Pikachu with a Ditto. Pikachu can be found in the Viridian Forest. Make sure Ditto gets along with Pikachu by asking the daycare.
Cerulean Cave
with a ditto
You can catch Ditto at route 218. Ditto around there are usually lv 30. :)
If you are trying to catch ditto in heartgold and soulsilver, I found the easiest way is to catch it outside of the daycare, just south of goldenrod city. It might take about five or six goes, but you will find him. I suggest using a quick ball. Good luck!
Yes you can breed ditto with any Pokemon and the baby is the Pokemon you have breeded ditto with.exapale;[ratta +ditto =ratta ][eevee + ditto =eevee]