RF12 Datenstruct senden, empfangen und wieder trennen

Nee, also so geht das natürlich nicht;-)

Aber zuerst habe ich einige andere Fragen:

Bist du sicher, dass deine Methode getDate() richtig ist? Sieht mir irgendwie chaotisch aus, was das Auslesen aus den verschiedenen Zeichen angeht? Irgendwie ist die Reihenfolge, was die Parameter von rtc.read() angeht - überraschend... Zuerst immer 0, und dann 1? Kommt mir komisch vor..

Und was soll

year =(int) now[0];

Das habe ich nicht verstanden, was das sein soll. Ist now ein Array von int-Werten?

Jetzt zu deinem Problem:

char* lcdTime(int intWert){ 
  Serial.println(intWert);
   char charWert[3];
   itoa (intWert, charWert, 10);
   Serial.println(charWert);
return charWert;
}

funktioniert nicht, weil charWert nur lokal existiert. Du versuchst eine Adresse zurückzugeben, die längst mit was anderem gefüllt sein kann.
Wenn du diese Signatur beibehalten willst, dann musst du charWert dynamisch reservieren, z. B. mit malloc(). Aber dann musst du den Wert auch wieder selbst freigeben.

Besser wäre es, charWert als Parameter mitzugeben, also sowas:

void lcdTime(int intWert, char charWert[3]){ 
  Serial.println(intWert);
   itoa (intWert, charWert, 10);
   Serial.println(charWert);
return charWert;
}

und dann den Buffer von deiner übergeordeten Funktion mit übergeben.

Rudi