Need Help With Police Light Modes

The only things the Arduino should be doing is blinking the lights, and changing state when the button is pressed.

That's two things, and whilst you're in delay(), you can do only one thing (which is sit twiddling thumbs), so the button goes unnoticed.

Using "for()" is not the way i want to go. It will only loop until it reaches that certain integer.

As the old song goes, 'tain't necessarily so. Here's a for loop that just goes on and on.for (;;)