Hugh's answer is good and correct, but let me offer you a different point of view.
English makes a distinction between nominative and accusative only for some pronouns. The nominatives (I, he, she) are used in different situations than accusatives (me, him, her). Latin and English use the two cases quite similarly, and in simple sentences like your examples the correspondence is excellent.
So: To figure out which case to use, write the sentence in English with the noun replaced by a pronoun. The correct English form of the pronoun tells you which case to use in Latin. I repeat that this is not infallible, but a good rule of thumb.
Using your examples with a pronoun, we have:
He is my favourite animal. (Nominative!)
I want him. (Accusative!)
English uses the cases weirdly with "be". In "it is he/him" many would choose "him", whereas Latin requires nominative. (This is why I reworded your first example! In the original form the rule of thumb would indeed suggest accusative.) Perhaps it would be a good supplement to this rule of thumb that the verb esse needs nominative.