Funktion mit Wertrückgabe ?

verzapft ist gut :wink: in welcher anderen sprache geht sowas?

mit pointern kannste alles verändern und nebenbei extrem viel blödsinn anstellen.

mehrere globale Variablen

wozu musst du die zurückgeben?

LAST_LED = LEDPOS_4; // letzte Position merken
LEDPOS_4 = LEDPOS_3; // LED Position nachrücken
LEDPOS_3 = LEDPOS_2;
LEDPOS_2 = LEDPOS_1;
LEDPOS_1--;

das ganze ist laut deiner aussage global und somit änderst du den inhalt jeder globalen variable in jeder deiner funktionen!
da brauchst du keine rückgabe.

sobald du in deinem kometenschweif die werte für LEDPOS_3 = LEDPOS_2; etc geändert hast, kannst du nach dem aufruf für kometenschweif die neuen werte weiter benutzen.