I have an idea, though I haven't tried it.
You need status effect and skill "shield". Then in common event you make condition, when status of each player is shield do next (you need to make it for each player separately). You need variable that will store HP when status is shield on your player. You need another variable that will be parallel process after switch is triggered (you need switch that will turn on when status is shield on someone, and turned off after end of status) and which will be in condition to check is it same as HP variable, if it is not then you do next. You have another variable which is first one minus other one, and you heal player for the number of that variable. Bad part of this is that you could die before healed, and other bad part is that if someone heals you, shield will be used, and you will be healed once again for same amount.
I tried to change Phys defence to 200 (that is max), but that won't make you invulnerable.
If it is working in this way like I thought it will, try to make better version of it, experiment a little.
edited: ok, if you set when status shield is on: death relation to minus, and you set evasion to 100, that will do. Just follow previous procedure with common event so that status knows how long it should be used. Of course you don't need third variable for adding health. Only this part if someone heals you in meantime needs to be resolved. And don't forget to put event line change status (take off shield status) in the end of process.