Also...

Du kannst im Programm Labels setzen.

Code:
Main:
und hier den Code einfügen.....

Sub1:
Code für SUb1.....

Blink1:
Code für erste Blinkfolge....

Blink2:
Code für zweite Blinkfolge.....
Die Labels (Main:, Sub1:, ...) kannst du mit Goto und Gosub anspringen.

Nach Gosub in ein Label kannst bzw musst du mit Return zurückspringen. Dann geht das Programm dahin wo du weggesprungen bist.

Nach Goto gibt es kein zurück wie bei Gosub.

Den Name des Labels kannst du dir selbst aussuchen. Das Label im programm muss nach dem Namen ein : haben. Wenn du es ansprichst, darf da kein : hinter sein.

Main:
Gosub Sub1
Gosub Blink1
Gosub Blink2
Goto Main


Sub1:

Hier den Code einfügen

Return 'aus der Subroutine zurückspringen


Blink1:

Code.....

Return


Blink2:

Code.....
Hier könnte auch Gosub Blink1 oder so stehen......

Return
Wichtig ist es aber, das du nicht mit Gosub in ein Label gehst, das kein Return hat, oder mit Return aus ein Label zurück willst, das mit Goto angesprungen wurde!
Da führt der AVR nämnlich irgendwann ein reset aus, weil der Stack übergelaufen ist.

Soviel erstmal zu den Grundlagen.
Ich kann dir folgende Seite mal ans Herz legen: http://www.rowalt.de/mc/index.htm

Um auf dein Problem genauer einzugehen.

Wenn ich das richtig verstanden habe, soll das Auto die ganze Zeit alle Varianten gleichzeitig durchspielen, oder?


Wenn ja, dann wird die Programmierung etwas aufwendiger.

Ein Wait oder Waitms oder Waitus macht im Programm so lange nichts, bis die Zeit abgelaufen ist. Die Zeit ist auch nicht sehr genau, aber das ist in diesem Fall ja nicht so relevant.

Wenn eine LED an ist und 300mS gewartet werden soll, bis sie ausgeschaltet werden soll, wird in dieser Zeit auch wirklich nur gewartet. Durch die unterschiedlichen zeitlichen Abläufe kann es aber sein, das in genau dieser Zeit eine andere LED schon leuchten soll.
Das geht aber nicht, weil der AVR noch wartet.
Also musst du einen Timer verwenden.
Der Timer sollte auf die kleinste gemeinsame "Wartezeit" gestellt werden. Immer wenn die Zeit erreicht ist, wird in die Routine des Timers gesprungen. Dort kannst du dann eine Variable hochzählen und im Hauptprogramm auswerten, welche LED grade geschaltet werden soll.

Timer ist ein etwas komplexeres Thema. Ich will dir aber nicht alles vorkauen. Zum einen findest du mit der Suche viel Information zu Bascom und Timern und außerdem weiss ich ja noch nicht einmal genau, ob wirklich alles auf einmal blinken soll.
Wenn alles der Reihe nach passieren soll, kannst du es auch anders lösen.