Is it appropriate to use short form of "have" ('ve) when it means possession?
To an American ear, it sounds awkward, but in British English, this is not uncommon. Ironically, a Brit will probably tell you that the correct form is "I have got a small dog".
This is definitely an American English/British English thing, as you can't do it in American English but you can in British English.
In American English, you can't contract "have" if you are using it as a plain (not a "helping" or "auxiliary") verb. "I've a dog" and "They've a great time" are not grammatical in American English.
There are a number of other restrictions on contractions of "have" besides the one you cite. For example, you can't use contracted "have" followed by "not": "I've not been there" is not grammatical in American English even though "I've been there" is—if you want to contract, you have to say "I haven't been there".
I discussed this in a question about I’ven’t.