(Edit: yeah, what Varil said. How did I miss that post?)
How about setting a soft limit on total sizes in one square?
If all the creatures in a square total up to less than the limit, then none of them are slowed down at all.
If the size total of all the creatures exceeds the limit, then apply the 'laying down' penalty to the smallest creature, and subtract its size from the total. If the total is still too big, repeat until the total is lowered to or below the limit, or only one creature is left.
For example: (numbers are completely ficticious)
Two dwarves (size 4) and a cat (size 1) are in the same square. The size limit for a square is 8. The cat has to 'duck out' of the way, which brings the total to 8, so the two dwarves continue just fine.
A horse (size 7), a dwarf (size 4) and a dog (size 2) are in the same square (again, limit
. To bring the size total to below 8, both the dog and dwarf lose time to let the horse move freely.
An elephant (size 20) and a mandrill are in the same square (limit
. The mandrill loses time making way for the elephant. The elephant does not, as it's the only one left.
[ September 07, 2007: Message edited by: Blackcat ]