according to my dictionary lieber can also mean 'rather', in which case could this sentence also be understood as, "I have cats rather than dogs." And, am I right in assuming this is an idiomatic construction, lieber haben? Could/Would one ever use mögen instead of haben? And the subjective hätten rather than the present tense? These last two make more sense to me as far as the English translation goes.
Interesting points, let me try to help: "lieber" can mean "rather" in terms of preference but not "instead of" as you suggest. Yes, you can also say "lieber mögen" but "lieber haben" is not unusual (expresses liking, not owning here). I'd say "Ich hätte Katzen lieber..." would change the meaning too much to be considered an equivalent translation of "I like cats more than dogs".
That's an ambiguous statement in English. It could mean that I like cats more than dogs do, or it could mean that I like cats more than I like dogs.
If you said "I like cats more than my wife," I would assume that your wife doesn't like cats as much as you do. If you said "I like salt more than pepper," it's clear because pepper doesn't like things. But the example sentence doesn't make anything clear.
No. "gern haben" is the best translation of "to like". And "lieber" is the comparative form of "gern", so "lieber haben" corresponds to "like more" or "prefer". "to love" is definitively too strong in most contexts. If you really want to say "love more" then you would use the verb "lieben" in German, not "gern haben".