Tienes que definir variables obviamente como globales asi que te pondré algo como // globales y tu sabrás donde van.
// globales
byte estado = 0;
unsigned long start;
//luego en tu loop
if(inicio == 1) {
switch(estado) {
case 0: lcd.blink();
digitalWrite (ROJO, HIGH);
digitalWrite (buzzer, HIGH);
lcd.print("ROJO ENCENDIDO");
estado = 1;
start = millis();
break;
case 1: if (millis() - start > 5000UL) { // equivale a delay(5000);
digitalWrite (ROJO, LOW);
digitalWrite (buzzer, LOW);
lcd.clear();
lcd.noBlink();
start = millis();
estado = 2;
}
break;
case 2: if (millis() - start > 1000UL) { // equivale a delay(1000);
estado = 0;
}
break;
}
} // fin del if
Igualmente no aseguro que funcione, porque hay que pensar en todo el código y no en parte del mismo.