Normally, the entity tokens [BABYSNATCHER] and [ITEM_THIEF] work as crude methods of making civs start default at permanent war or friendlies to allow trading -- by default they are all friendly, ie. humans elves and dwarves lack these tokens. If you copied the goblin entity and renamed it, they would be friendly to each other and allow trading (if they had the progress triggers for it) with each other. [ITEM_THIEF] works the same way.
So my suggestion is to greatly amplify the control we have over civ-level behavior by adding removing the tying of babysnatcher and thief to civ friendly status and instead seperate the tokens, ie: retain a civ's babysnatcher token but allow them to trade with dwarves. It could still cause tension in world sim but they by default wouldn't be always enemies.
You could add several tokens to this for varying degrees of control. Let's call it [CIV_GROUP].
By default (no civ-group token), it would cause them to be totally independent, equivalent of [CIV_GROUP:0]. They do not trade, cannot make alliances and are always at war with everyone. This would be on animal peoples.
Dwarves, elves, and humans would default to [CIV_GROUP:1]. They are by default friendly and allow trading, etc. This is normal, current behavior.
Goblins and kobolds would be [CIV_GROUP:2] and 3. They are not friendly to anyone and only trade with themselves, but they are not true independent civs.
The generic animal-civ group would be [CIV_GROUP:0]. They cannot trade, never make treaties or alliances, and don't even show up in the civs screen. Kobolds could also be here instead of a separate group.
Now you can add tokens to force certain entity behaviors:
[ALWAYS_WAR_WITH_GROUP:1] would be on goblins. They can never make peace with anyone in group 1.
[KIDNAP_FROM_GROUP:1] would also be on goblins - they can babysnatch from humans, elves, or dwarves. To allow them to snatch kobolds you would add [KIDNAP_FROM_GROUP:3] and from animal peoples or all independents, [KIDNAP_FROM_GROUP:0]. To allow kidnapping from other goblin civs - [KIDNAP_FROM_GROUP:2]. Easy!
There's an endless variety of tokens that could be added to modify entity behavior, but I think this civ group method is the easiest baseline to start with.