Wenn die Variablen eh schon als ERAM deklariert sind, speicher doch einfach die Werte mit "M_Eprom = M" bzw. "H_Eprom = H"; macht im Prinzip das gleiche wie Writeeprom, nur dass Bascom sich eben um die Speicherposition kümmert. Das Laden der Werte geht entsprechend andersrum.

Bei der Anzeige wüsst ich auch was kürzeres: Ich machs immer so, dass ich z.B. bei ner 4-Stelligen Anzeige vor den anzuzeigenden String immer 3 "0" anhänge, dann davon einfach wieder die rechten 4 Zeichen.
z.B. H = 38, dann soll die Anzeige 0038 sein:

lcdstring = "000" + str(h) 'ergibt 00038
lcdstring = right(lcdstring,4) 'ergibt 0038