Pausing Fading with Button

You need to remove the FOR loops and allow loop() to do the repetition. That will allow you to check the button between each fade step and stop the fading whenever you want.

Also, for a responsive program it is not a good idea to use delay() as the Arduino can do nothing during the delay() period.

The demo Several Things at a Time illustrates the use of millis() to manage timing without blocking. It may help with understanding the technique.

Have a look at Using millis() for timing. A beginners guide if you need more explanation.

...R