Can the problem be stated another way?
Have a routine that is triggered by the interrupt.
When triggered it sets a "no output" flag for a time. After the time expires reset the flag. (I assume this is being called
multiple times in loop(), so it can check the time)
Have a common output function like:
void output_for_one_device(int device address, boolean no_output)
{
if (no_output)
{
set_output_safe();
return;
}
// otherwise, carry on and do the output
}
Do you really mean interrupt - an interrupt is for a hardware signal that you have to respond to very fast.
From your problem description, why not have a digital input for your interruption, and when you poll that
change your output variable? From my measurements on arduino code, the loop() repeats 20000 times a second,
so you can poll a digital input that fast. Interrupt routines are tricky.