Breaking up for loop with ISR
No, it's not possible, nor desirable. It's complicated and unnecessary.

What you have to do is:


Declare a volatile global variable (a switch).
Inside ISR, change that switch to signal that a break is needed.
Inside your loop (for, while, ...) test for that global variable and proceed.


This example print "This is the end" each time a button connected to pin 2 is pressed.

volatile bool fin = false; // The switch for ISR-loop communication.

void setup()
{
    Serial.begin(9600);
    pinMode(2, INPUT);  // Read a button or other signal.
    attachInterrupt(0, buttonISR, RISING);
}

void loop()
{
    if(fin) {
        Serial.println("This is the end");
        fin = false; // Reset the switch.
    }
}

void buttonISR()
{
    fin = true;  // Just raise the signal for the main loop.
}


This method keeps ISR ultra-short and there is no mixing between ISR's instructions and loop's instructions. All of your logic reside in the main loop.