Hund is a generic masculine noun, Katze a generic feminine noun and Eichhörnchen a generic neuter noun. The rule is that you fall back to generic nouns when biological gender is not important. Example:
Hunde sind an die Leine zu nehmen. Ich hatte mal einen Hund, der hat sich dauernd gewälzt. Ich hatte in meinem Leben viele Hunde. Ich mag Hunde. Ich hasse es, wenn Hunde an mir hochspringen. Ich liebe Katzen. Ich hatte mal eine Katze, die hat mir fast jede Woche eine Maus angeschleppt.
Gender is completely unimportant here. Your example however violates the rule as you refer to gender in the second sentence. This implies that her gender actually is important to you, therefore you have to use it in the first sentence (at least it would sound more natural):
Ich habe eine Hündin. Sie heißt Pancake. Ich hatte in meinem Leben viele Hunde, Rüden wie Hündinnen; wenn die Hündinnen läufig waren, war das sehr lästig. Der Rüde/Hund meines Nachbarn wollte meine Hündin bespringen. Ich musste meiner Hündin die Eierstöcke entfernen lassen (I deem Hund somewhat tolerable here).
The situation is easier with Eichhörnchen, as the word is neuter:
Ich hatte zwei Eichhörnchen, Rudolf und Bianca. In meinem Garten hat ein Eichhörnchen geworfen.
You would refer to gender with Männchen und Weibchen:
Das Weibchen holte dann leider der Fuchs, das Männchen hat sich aber dann um die Jungen gekümmert.
So you cannot – or at least should not – use er in your example. Again, you could, if gender is not important:
Ich hatte einen Hund. Wenn man den alleine gelassen hat, hat er die ganze Nachbarschaft zusammengebellt.
Even if it was a female dog, you don’t care about her being female in this story.
However it is more tolerable to not use the correct gender, even though it appears in the sentence, as opposed to humans:
Meine Afra war ein toller Hund!
?Merkel war ein (your opinion here) Bundeskanzler.
Some feminists use female forms in their texts and claim to include men. This is wrong, as the male/female opposite of a generic noun always exclude the other gender.