Try this:
Place a large trigger over the map, type "civilian present", non-repeating, on activation: civies=+thislist
Now, place an "end" trigger, condition: "alive _x" count civies <=2
I used four civilians. When there were two (or less) left, the mission ends. You can change the number to your liking.
Or you can do this: make the large trigger activation line : civies=+thislist;civy_count=count civies
and the condition line of the end trigger:
"alive _x" count civies <= civy_count/2
This will end the mission if half of the civilians get killed. This way you can place as many civilians as you want and not have to worry about changing your trigger.