delay I2C slave response - clock stretching

You should not stop the Master and stop interrupts for a long time

Generally speaking it is true. In this specific case, I already checked, it works fine; I have literally seconds before the master goes on timeout due to a long lasting clock-stretch.

You have to find a way to have that data ready.

I can't, because the response payload depends on what the master sends just right before requesting data.

The most common solution is adding a 'interrupt' line to the I2C bus

I'm not the hardware designer, unfortunately. If I could modify the master device I'd move to a much simpler polling protocol over I2C without even adding a new digital line.
I think it is feasable because I'm trying to use this Arduino to replace a custom board that works this way: master calls requesting data, hold down SCL, flag the pending request to the main loop, continue the regular loop operation with no interrupts blocked, resume the I2C response as soon as the main loop can respond. I get it isn't the most "classic" way a I2C slave operates, but it works fine and it isn't particularily complex. From the I2C master standpoint, it sees just a slightly long clock-stretch, but it is designed to handle it properly.
Thanks for your suggestion.