Use the random number command
random 4
which will generate a random number between 0 and 4. Depending on the number generated make a certain variable true which is turn makes trigger true which opens up a set of waypoints or whatever.
However, you don't want to use scripts .... (thinks hard .... hmmmm) ..... ok, set up 4 triggers, each one triggered by your dude being present. Make them rectangular and small (like 2m by 2m) and place them around the civilian in a block. (Like four quarters of a square with the civvy in the middle.)
When your dude approaches the civvy one of the triggers fires and does what needs to be done. Use variables to fix it so that once one trigger is fired the others can't be. Use getpos setpos to set the positions of the triggers relative to the civvy, and make the position of the civvy random by using placement radius. That way it is likely that your dude will fire a different trigger on each attempt because he will approach the civvy from a different direction, since the civvy is in a different place.
On the second point, you could just have a looping script
#start
dude1 removeallweapons
~3
goto "start"
and not bother with checking, which is only makes the script more complicated anyway. Alternatively load him up with weapons of one type and ammo with another, and maybe the AI won't be smart enough to sort it out.
Hope the foregoing gibberish helps ... with a bit of luck somebody will come up with more elegant solutions.