a) When properly utilized, "to rear" is used with humans, and "to raise" is used with other animals (e.g. cows, goats, pigs, etc.). However, "to raise" is often applied to both in everyday colloquial speech.
b) In my mind "kept" implies that the owner cared for the fish with some seriousness, whereas "had" is said with no implication. At the end of the day, goldfish (one word, not two