I've had a case where a village with three dogs had one of them for sale. I made a visit later on and was told none were available. At the time I only spotted a single dog in the village, which led me to believe the others had gotten eaten by wolves or something farther afield. But in another visit, the other dogs had returned within range and a different dog was for sale.
I get the idea that "queues" of buyable livestock may reshuffle from time to time and logic checks are made for whether an animal is in the tile for the village proper to be counted. If AI routines ever get implemented for taking village livestock to pasture, this may be an issue to address.