Indah vs Cantik
1-From the sentences we have been provided, I deduce that indah is used for non-person subjects e.g. dress, ball, room, car whereas cantik is used for living female subjects e.g. cat, girl, woman. Is this correct or incorrect?
2- Would a beautiful dog be cantik, tampan or indah? Similarly which adjective is used for ducks, elephants, cows, pigs etc?
That's about right. To me, the word "indah" is associated with views, paintings, dresses, but I would more likely to use the word "bagus" for cars and houses.
For animals, if I had to choose between those three words, I would choose "cantik". But I associate it mostly to animals like butterflies, peacocks, birds of paradise. "Indah" can be used to refer to parts of animals, such as wings of butterflies, tails of peacocks, feathers of birds of paradise.
But I don't think "cantik" is used that often for animals. Other adjectives would come to mind, such as "lucu" (cute) for dogs and cats, "gagah" (majestic) for tigers, "anggun" (graceful) for cheetahs. I'm not sure what I would call ducks, elephants, cows, or pigs, though.