Du benötigst einfach doppelt so viel Stack für die IRQs. Es hängt von Deiner Implementation ab, wieviel Bytes von der jeweiligen Interruptroutine auf den Stack gepusht werden, mindestens jedoch der Platz für die Rücksprungaddresse. Ansonsten ist das mit zwei Interruptebenen durchaus OK, in der avr-libc gibt es dafür die beiden Konstanten ISR_BLOCK und ISR_NOBLOCK, die man dem ISR Macro als zweiten Parameter übergeben kann.