Si necesitas un tiempo entonces necesitas algo que cuente tiempo, puede ser un timer, puede ser una demora. etc. Supongamos que tenes una demora para hacer mas simple
Lo demas es preguntar por el boton si esta presionado o no (con un if)... esto deberia ser relativamente sencillo, solo necesitas leer una entrada. Pero esperar que el boton se suelte (con un while)..
Finalmente activar el led y desactivar el led viejo.
Repetir hasta cansarse, es decir copiar y pegar lo de arriba y cambiar las salidas de los leds.
Es lo mas sencillo. Ahora queda en vos tratar de hacerlo. Obviamente se puede complicar mas y que sea mas corto... O usar otro dispositivos externos como unos shift-register que harian mucho mas simple todo. Ni siquiera necesitarias el micro...