adding a button to the blink tutorial

Rather than requiring that the switch state be HIGH, you would compare the current switch state to the previous switch state, and do something if they are different.

This requires that you save, at the end of loop, the current state as the previous state.

Then, you do something like this:

int currState;
int prevState = LOW;
bool blinking = false;

void loop()
{
   currState = digitalRead(switchPin);
   if(currState != prevState)
   {
     // A transition occurred - the switch is now pressed but was released
     // or the switch was pressed and is now released
     if(currState == HIGH)
     {
       // The switch was just pressed
       blinking = !blinking; // Change the flag
     }
   }
   prevState = currState;

   if(blinking)
   {
      // Make the LED do its blinking thing
   }
}

Your current code only reads the state of the switch every two seconds. This change is not going to make the switch get read any sooner.

You really need to look at the blink without delay example, and forget that you ever heard of the delay() function.