Hi,
If you run this:
{if !(Alive _x) Then {Civilians=Civilians-[_x]}} ForEach Civilians
(i.e If Civilian is not alive, then delete the dead guy from your array.)
Prior to using the count command on Civilians (your array). Would that do the job?
Or you could use a trigger, but I'm not to sure about how much strain triggers put on OFP.
At least this way, you only have to check who is left alive when you need to. You would lose the original Civilian Array data, unless you made a copy.