You might want to check out these links:helpful links for dogs & cats together
and this forum:Dogs & Cats together sub-forum
I got my dog as a young adult (about 11-12 months old) from a shelter. You can find some wonderful dogs in shelters! Be patient and selective, not in a rush to bring home the first cute dog, and you'll find just the right one. Also, keep in mind that some small dogs were bred to hunt (dachshunds, for example, were bred to hunt badgers!), and may not be good with cats. Of course, there are exceptions to every rule, depending on how the dog was raised. Most of the dogs you'll find in shelters will be a mix of different breeds, some might even be hard to tell what kind of dog they are.
Talk to the shelter staff & make it very clear to them that you're looking for a dog who will be safe with your cats. Some shelters (after pre-screening the dogs for safety's sake) will allow you to take the dog (supervised) into the cat area & introduce it to a dog-friendly cat to see how it reacts. Avoid any dog that tries to chase, bark at, or lunge at the cat, no matter what the staff might say about "playing". Look for a dog that approaches the cat gently to sniff noses &/or tries to sniff its bottom, so you can tell it sees the cat as an equal rather than prey. A "play bow" (lowering the front legs to the ground) is OK, after introductions, as long as any play that follows is gentle enough for the cat, and the dog will stop if the cat gets angry. It's important that the dog will give the cat space & leave it alone if it hisses & swats at the dog, rather than barking & lunging in response to aggression from the cat.
When I adopted my dog (a big dog - lab/shepherd mix) from the shelter, it took a few months of searching the local shelters before I found her. I looked for a dog with a gentle temperament, and walked the dogs I was interested in by the cat house's outdoor enclosure to observe their reactions to the cats. Any dog that showed any interest in chasing the cats or lunging or barking at them was disqualified. I chose my girl when she tried to walk up to a cat close to the fence & sniff noses with it & lick it (to me, her trying to sniff noses with it showed that she saw it as a possible friend rather than prey).
Even so, when I took her home I used a crate to introduce her to the cats and also crated her or put her outside when I couldn't supervise her with them. I observed all her interactions with the cats closely for any signs of desire to chase or see them as prey for a long time before I trusted her unsupervised with them.
Also, be careful to feed your dog in a different room than the cats and keep the cats' food out of reach to prevent any disputes over food. My dog will let the cats eat out of her bowl, but that's very rare - most (including our other dog) will get protective over their food and won't appreciate the cats coming around while they're eating, even if they're fine with people taking their food away.
Another thought: if after a lot of searching you're unable to find an adult dog that you feel is safe with your cat, you might want to consider a puppy- most puppies (unless they're of a breed that has a really strong hunting or herding instinct) will readily accept cats if raised with them.
Hope this helps
- sorry if it's too long