My wolves always look really sad without ever being fed unless they get hurt... But I have an idea! Each dog has to have 2 bowls-one with water, one with food- to survive. A dog will go up to it's bowl and eat/drink. Its made like this:
  
The iron holds up the bowl so that the dog doesnt tip it over. 2 bowls can be placed next to eachother to make a long bowl rack which can hold food and water, and only needs to be colored once. Breaking one will give you a colored bowl rack, and the other will be colored too. Colors do not mix on the rack, but go over eachother an infinite amount of times.
Each one is color coded by using a color on the bowl on a rack and by using the same color on the dog, coloring it's collar. Multiple dogs can use the same bowl racks, and one dog can use multiple bowl racks. Each full one will last for 7 minecraft days and nights. (Comment if that is too much/too little) A dog needs to eat everyday, or it will keep taking damage and walks slower until it dies (Harsh, I know.)
The bowls will show when they are full. The water level or how high the food is will go down a little each day until its empty. Then you right click it with a bucket of water or some dog food and the bowl will be refilled fully. You can fill a bowl that is slightly empty, wasting some of your water. You cant put food in a full bowl. Nights skipped while sleeping will count to the day count.
The rack will not fill a whole block, but will be just taller than a half step. The rack will take up most of the space, but the bowl will be in the center showing the water or dog food. If you put it porkchops, you will have to put in 7 (Or the amount of days a full bowl lasts before running out) to fill it fully. If you make dog kibble, which I have no idea how, it would take up a quarter of the bag of kibble and fill the bowl. If you give a dog not enough water or food, it will wimper in two different ways.