1. Put it in the event code of the enemy. When an enemy gets killed, his event code is being executed.
2. That's not directly possible... It's a little bit complicated with variables and switches. You could store the zombie's original position with variables and immediately when it is respawned (turn the option on), you use a "Change Event Location" command to put the enemy back. You need as parallel process that checks whether the enemy is dead or not and only then move him. I suppose it would be less complicated if I simply make a special event command to declare a respawn position in the next version. -_-
3. This is also a bit complicated to make with events. What do you need it for? Maybe there's an alternative.
4. Give them the AI attribute of being passive. You can give special AI attributes by adding \ai[ABCDEFGH] in the name. You'd need to se A to 1 if you want THAT enemy passive. You should read 3.1.2. of the manual again, it's the one that explains how you need to do it. 4.1. has a description of what the attributes do.
Critters are a special group. They are not enemies, they are neutral. If an enemy attacks a critter, the critter will fight back, lol!