как только мои транзакции вышли за пределы этих хранимых 2 GB, так кошелек и перестал открываться.
Так вообще-то не должно быть. Если закачка блоков (этого самого "окна" в 2 Гб) происходит при открытом wallet.dat (без ввода пароля), то после полной синхронизации всё будет работать.
Это потому, что Bitcoin Core в wallet.dat постоянно пишет номер самого последнего засинхронизированного блока.
А вот если засинхронизировать блокчейн с кошельком, скажем, wallet_new.dat, а потом попытаться подсунуть старый кошелёк wallet.dat, то он не откроется, если его номер последнего засинхронизированного блока не войдёт в "окно" 2 Гб.