Die EEpromvariable solltest Du nur auslesen oder schreiben, aber nicht zum arbeiten im laufenden Programm nutzen.
Schreib doch einfach:

Dim A as Eram Word
Dim B as SRAM Word (sinngemäß - hab schon ne Weile net mehr mit Bascom geproggt und weiß den genauen Befehl grad nicht)
Dim C as SRAM Byte
Enable Interrupts
Config Int0 = Falling
On Int0 Speichern

B = A
C=0

Do
...
Loop

Speichern:
A = B 'Arbeitsvariable im EEprom ablegen (wird automatisch gespeichert)
Do 'warten bis die BOD am µC wegen Unterpannung den Reset einleitet
nop
Loop
Return

Damit übergibst Du den Wert der Eepromspeicherzellen in eine SRAM-Zelle und kannst den µC runde 100.000 mal ein und ausschalten. Gegebenfalls kannste ja auch eine Prüfschleife einbauen die nach dem zwei-von-drei Verfahren geht und die Gleichheit der Speicherinhalte kontrolliert und im Falle des Falles einfach auf die nächsten zur Verfügung stehenden Zellen zurückgreift.
Hunderttausendmal ein und Ausschalten muss man aber erst mal schaffen.
Übrigens ist der SRAM auch "minimal" schneller als der ERAM. Letztgenannter braucht nämlich runde 1 bis 4ms um ausgelesen zu werden. Der SRAM arbeitet dagegen im Takt des µC's und kann bei 20Mhz in nicht mal ner halben Mikrosekunde angesprochen werden - also über 2000 mal flotter.

Was mir grad noch auffällt ist die Tatsache das sich der µC bei Spannungsschwankungen in meiner oben getippselten Variante festhängen kann. Also muss sichergestellt werden das die INT-Routine die anliegende Versorgungsspannung überwacht und im Falle einer simplen Störung der Stromversorgung einfach wieder zurück ins Hauptprogramm springt.