Question one)
It can breed with:
No.25 Pikachu
No.26 Raichu
No.285 Shroomish
No.286 Breloom
No.300 Skitty
No.301 Delcatty
No.361 Snorunt
No.362 Glalie
No.311 Plusle
No.312 Minun
No.303 Mawile
No.315 Roselia
No.351 Castform
No.88 Grimer
No.89 Muk
No.109 Koffing
No.110 Weezing
No.202 Wobbuffet
No.218 Slugma
No.219 Magcargo
No.355 Duskull
No.356 Dusclops
No.316 Gulpin
No.317 Swalot
No.353 Shuppet
No.354 Banette
No.280 Ralts
No.281 Kirlia
No.282 Gardevoir
No.358 Chimecho
Question 4) go with Sp def /def
As for every thing else IT DEPENDS some things are random
Even if you had two identical castforms on two diffrent versions
and each one battled every battle the same their stats would differ
p.s. there is a 100% trick for getting a shiney ditto
search the gold/silver forum