We have a feature-request that would address this issue:
https://github.com/introlab/rtabmap/issues/1201, which is only keeping a subset of the incremental dictionary in RAM.
If you are using a fixed dictionary, you may already make it small enough to be kept in RAM independently of the size of the environment. I don't see an easy way to use multiple fixed dictionaries and switch them on runtime based on robot localization, because it would mean that during mapping, we should carefully switch dictionaries depending on where the robot is (which doesn't look convenient to do).
cheers,
Mathieu