For example, with that definition, can I target your Necromancer with a face down Poison Blood ?
No. The Necromancer cannot be targeted unless its controller chooses otherwise, and I haven't chosen to allow the Poison Blood. The fact that I couldn't know to choose--because the spell is face down--is irrelevant. The point of using "may" is that the exception to the current rules is opt-in. If I do nothing, the rules continue as they always have, changing as little as possible without my direct intervention.
How does this work out with a guarding Hellion vs an attacking Lord of Fire ?
Does the Hellion controller have to state that he "may be targeted" so that the LoF must attack the Hellion first ?
At what point during the attack do you state that you can be attacked because the LoF may already have appointed another target to attack during step 1 of the battle sequence.
I think it's important to solve problems at the source. The problem here isn't immunity, it's Guarding, which has been a troublesome rule before. There are lots of potential reasons you might not be able to target a guard: what do we do if Invisible Stalker loses Pest, for example? If the problem is with guard, fix guard.
Guard (fix in blue)
If there is an enemy Guard (a creature with a guard marker) in a zone,
and you are able to attack at least one of those guards, then you cannot melee attack any object in that zone other than enemy Guards. This condition is checked when the attack is declared.
So the way that would be resolved with voluntary immunity would be that, when the attack is declared, the attacker asks, "can I target that guard?" and the guard's controller says yes or no. If yes, then the attacker must target a guard, and if no, then the attacker would be free to ignore that guard.
In your example, the guarding Hellion would still be immune to damage and conditions, though, unless the Hellion's controller waved the immunity.
That's why I think the simplest and most logical solution is to switch this mechanic around and build Immunity around "being able to target" but with the option to "avoid" and "counter". That way you have no targeting problems and guarding works like normal in all situations.
Mage Wars doesn't have a concept of "counter". It does have cancel, but that word needs to be used carefully, because it sometimes ends actions, but not immediately. Which would mean, for example, that Adremelech would be able to knock the guard marker off a Hellion but the Hellion wouldn't get a counterstrike. Avoid would be better, but you'd still have the problem of Adremelech triggering blocks and defenses.