(a) Yes, you always get the pokemon at the bottom of the female's evolution chain. So breeding a female Blastoise will get you a baby Squirtle.
(b) No, breeding is between any two pokemon (one male, one female), except legendaries and a couple other exceptions. Genderless pokemon can only breed with Ditto.