If you're using SIOC have you tried writing some code under the offset that
detects the battery power to set all the offset bits for the annuciators to
SIOC should detect the bit change and then change all the bits for the
offsets. I have all my FCU displays set to change based mostly on the FCU managed
offset - was the fastest and neatest way I could figure.

If you'd like I can email the SIOC file so you can read through it, may help
with some ideas.