Fa uso dell'hardware?
E' una semplice formula che controlla se il numero è più grande di 9, in caso affermativo aggiunge uno "0".
Con un oggetto string la cosa è ancora più semplice perché gli string possono essere concatenati per cui al posto di Serial.print fai un semplice "+". Esempio: Orario += "0"
Una cosa così:
String Orario;
void setup() {....}
void loop() {
 Orario = "";
 printTime(WITHOUT_SECONDS);
}
void printTime(byte withSeconds) {
  sendNumber(rtc.getHours());
  Orario += ":";
  sendNumber(rtc.getMinutes());
  if (withSeconds) {
    Serial.print(":");
    sendNumber(rtc.getSeconds());
  }
}
void sendNumber(byte number) {
  byte temp; Serial.prin
  if (number>9) {
    temp=int(number/10);
    Orario +=(char(temp+48));
    number-=(temp*10);
  } else {
    Orario += "0";
  }
  Orario += (char(number+48));
}
Non so se funziona, l'ho scritto al volo