There's also the option of giving races [PET_EXOTIC].
I added [CV_NEW_TAG:PET_EXOTIC] to my c_variation_default entries for animal people, and now I can tame them and trade for them with elves. If you give them [PET] instead of [PET_EXOTIC], you can even trade them with humans and dwarves, and you may get some in migration waves. You could do the same with any [INTELLIGENT] race and, while most of the ones you encounter 'wild' will have faction affiliations, the elves would probably be happy to bring them in trade.
With the possible exception of dwarven pets, you can't assign them any labors - they're effectively just pets who can socialize. They require food and water (I haven't tried any [ALCOHOL_DEPENDENT] races, though, so it's possible they'd drink booze if you gave them that), and if you're lucky enough to buy/have one immigrate who already has the profession, they may be able to do animal training and fishing.
Notes:
[ul]
- They aren't able to use wells, so unless the well is right at the surface of the water, you'll need to make a special watering hole for them.
- Unlike non-sapient pets, egg-laying animal people won't starve themselves to incubate their eggs.
- Don't give egg-layers the [BABY] tag. Babies which hatch from eggs aren't picked up by their mothers and will starve/dehydrate to death. [CHILD] tags are OK.
- The [GRAZER] tag seems to conflict with the [INTELLIGENT] tag for pets - tamed animal people with the [GRAZER] tag die of starvation.
- Personally I also set the animal person templates to remove the [MILKABLE] tag, because that's just gross.[/ul]