I have had a dog twice. はちょっと不自然な言い方ですね。I have had dogs twice. は間違っていませんが、例えば I've had dogs twice in my life. のように最後にもうちょっと情報を足してあげないと物足りない文章になってしまいます。
ーI've had two different dogs before.
「以前2匹の犬を飼っていた」
この言い方は、2匹の犬を違う時期に飼っていたニュアンスになります。
ーI've had dogs twice in my life.
「今までに犬を2回飼ったことがある」
このように最後に in my life とつけてあげると自然な文章になります。
ご参考まで!