Well, the selection control plugin I already linked you has the ability to tag specific skills as being able to be switched between ally and/or enemy or not, so either tag the healing spells you want to be able to hit enemies as being able to do so, or set all skills as being able to do so from the plugin parameters, and tag your mega heal spells as being ally only using note tags.
Your edit is also covered in the Selection Control plugin. A plugin parameter called 'disperse damage' causes single target spells to split their effect across multiple targets when cast on multiple targets at the same time. If a heal would do 100 healing to one target, it will instead do 25 healing to four targets. There are note tags in the plugin to enable this for each individual spell, as well, so if you plan to have some spells not be affected by this, leave this plugin parameter off, and set the specific spells that you want to be weaker when used on multiple targets via the note tag instead.
The other thing is that this effect might not work properly if your mega healing spell is just a 100% heal, heck, elemental damage absorb may not even make it work to cause damage to undead targets correctly. In that case, I'd recommend using the damage formula to cause a 100% heal, instead of the effects box. This way, the damage dispersion has an actual number to go off, to make it weaker, rather than just 100% heal everyone.
target.mhp
If you put the above in the damage formula box, it will cause a 100% heal to the target. If you multiply it by a float value (target.mhp * 0.75) it will be a percentage of max hp healed. As mentioned, using the damage formula instead of the effects box will ensure that the healing is properly split when the skill is cast on multiple targets rather than just on one.