I have a few suggestions to improve the behavior of wild animals if Toady ever gets around to improving them. Obviously I don't know about the intricacies of the game's engine, and I don't what is and isn't possible, I just wanted to throw some ideas out there.
[BEHAVIOR_(size):(behavior type] token:
Two of these tokens would be specified, [BEHAVIOR_LARGER:(parameter)] and [BEHAVIOR_SMALLER:parameter]. The former would determine the behavior the animal exhibits towards creatures larger than it, while the latter would determine the behavior of said animal towards those who's size are equal to or smaller than it.
The available parameters would look something like this: BENIGN (runs away in fear and only fights back if enraged), NEUTRALRUN (will not engage in any sort of combat and ignore other creatures unless provoked. If attacked however, it will behave like BENIGN), NEUTRALFIGHT (like NEUTRALRUN, but fights back instead), DEFENSIVE (initially BENIGN towards creatures it sees, but will attack anything that gets too close. It won't give chase however, and will become BENIGN again once its provocator backs off, that is unless the provocator specifically attacked first) and finally HOSTILE (will attack creatures it sees). Essentially, a creature with [BEHAVIOR_LARGER:BENIGN] and [BEHAVIOR_SMALLER:NEUTRALFIGHT] would run away from those larger than it and ignore those which are smaller or of equal size. A creature with [BEHAVIOR_LARGER:BENIGN] and [BEHAVIOR_SMALLER:HOSTILE] would act like a typical [LARGE_PREDATOR]. One could make an animal defensive towards larger creatures and hostile towards smaller creatures to mimic the behavior of certain venomous snakes. Interesting results could also be obtained by reversing the parameter order, making a creature hostile to larger ones and afraid of smaller ones. It would really help flesh out the behaviors of wild animals in a simple, yet effective way.
The tokens that are currently used to specify said behaviors could be shortcuts for [BEHAVIOR] token combinations
[BENIGN] would be token for creatures whom are BENIGN to all, [LARGE_PREDATOR] would be hostile to smaller and afraid of larger creatures, etc. Alternatively, [LARGE_PREDATOR] could be simply used to determine the amount of creatures present on the map, like it does now.
Should a creature with these tokens be part of a civilization, the game will interpret them differently. HOSTILE, DEFENSIVE and NEUTRALFIGHT will be immediately hostile towards appropriately sized enemies of their civilization. Likewise, BENIGN and NEUTRALRUN will immediately run away from appropriately sized opponents.
War trained animals will ALWAYS attack enemies of their civilization, regardless of these tokens and their parameters. I'd like to add more suggestions but I'm currently out of time. Will add to this later.