Do I need an interrupt?

OK. I read through the links you sent on millis. The reference link is for using millis as a "how long has something been running" way, no?
The tutorial seems more comprehensive and it says it makes for more flexible code. Please forgive my ignorance, but, I am trying to understand how to apply it in my instance. I have found out how to post my sketch and hope it helps.

/*
* Turn 4 LEDs split into 2 sets on and off with special characters
* sent over the serial connection with only 1 LED of each set 
* allowed on at a time. 
* If  the 2nd LED is commanded on, the first will be turned off
* prior.
*/

int led1 = 13;      // led is hooked up to this pin
int led2 = 12;      // led is hooked up to this pin
int led3 = 11;      // led is hooked up to this pin
int led4 = 10;      // led is hooked up to this pin

char LED1 = '1';     // ascii LED 1 on
char OFF12 = 'o';     // ascii leds 1&2 off
char LED2 = '2';  // ascii LED 2 on
char LED3 = '3';    // ascii LED 3 on
char OFF34 = 'f';    // ascii leds 3&4 off
char LED4 = '4';   // ascii LED 4 on
char ON13 = '5';      // ascii LED 1&3 on
char AllOFF = 'a';    // ascii ledsAll off
char ON24 = '6';      // ascii LED 2&4 on

int ledState1;
int ledState2;
int ledState3;
int ledState4;
char nextChar;

void setup()
{
       Serial.begin(9600);
       
       pinMode(led1, OUTPUT);
       digitalWrite(led1, LOW);
       ledState1 = LOW;
       
       pinMode(led2, OUTPUT);
       digitalWrite(led2, LOW);
       ledState2 = LOW;
       
       pinMode(led3, OUTPUT);
       digitalWrite(led3, LOW);
       ledState3 = LOW;
       
       pinMode(led4, OUTPUT);
       digitalWrite(led4, LOW);
       ledState4 = LOW;
}

void loop()
{
  if (Serial.available())
    {   
       nextChar = Serial.read();  // read just one character
       if (nextChar == LED1)  // check for '1'
       {
         ledState1 = HIGH;
         ledState2 = LOW;
         Serial.println("LED 1 On");
       }
       else if (nextChar == LED2)  // check for '2'
       {
         ledState1 = LOW;
         ledState2 = HIGH;
         Serial.println("LED 2 On");
       }
       else if (nextChar == OFF12)  // check for 'o'
       {                 
         ledState1 = LOW;
         ledState2 = LOW;
         Serial.println("1/2 Off");
       }   
       else if (nextChar == LED3)  // check for '3'
       {
         ledState3 = HIGH;
         ledState4 = LOW;
         Serial.println("LED 3 On");
       }
       else if (nextChar ==LED4)  // check for '4'
       {
         ledState3 = LOW;
         ledState4 = HIGH;
         Serial.println("LED 4 On");
       }
       else if (nextChar == OFF34)  // check for 'f'
       {                 
         ledState3 = LOW;
         ledState4 = LOW;
         Serial.println("3/4 Off");
       }
       else if (nextChar == ON13)  // check for '5'
       {
         ledState1 = HIGH;
         ledState2 = LOW;
         ledState3 = HIGH;
         ledState4 = LOW;
         Serial.println("LED 1/3 On");
       }
       else if (nextChar == ON24)  // check for '6'
       {
         ledState1 = LOW;
         ledState2 = HIGH;
         ledState3 = LOW;
         ledState4 = HIGH;
         Serial.println("LED 2/4 On");
       }
       else if (nextChar == AllOFF)  // check for 'a'
       {
         ledState1 = LOW;
         ledState2 = LOW;
         ledState3 = LOW;
         ledState4 = LOW;
         Serial.println("All LED Off");
       }
       digitalWrite(led1, ledState1);
       digitalWrite(led2, ledState2);
       digitalWrite(led3, ledState3);
       digitalWrite(led4, ledState4);
    }
}