I'm not familiar with what a static event handler is though.
It's sort of like a global script object, I guess, to put it simply. There's a more technical description for it but I don't think it really matters. Basically it's a collection of code that sits around and executes various modder-defined functions based on things that happen in the game (events). One of those events, for example, is when a map is loaded.
There are two kinds of event handlers, the normal ones and the static ones. Normal event handlers only exist in a map and get recreated every time a new map is loaded, static ones exist at a higher scope so they can pass between maps without needing to be reinstantiated. Obviously, for this application, you would need to use a static one.
The first thing that needs to be done before any work could start on trying to implement this idea would be that the map would need to be completed and every single object and sector that can be modified and needs to be saved would need to be cataloged, along with their possible states. Then there would need to be some kind of detection mechanism put into place for the sector modifications (there are a bunch of ways to do this but I don't want to state anything specific because I don't know what one would be best without seeing the map). After that, it's really just a matter of writing out a whole bunch of very basic code to check for modifications, save states, and restore the states of everything whenever the level is loaded. I'm not sure how possible it is to preserve found secrets though, that might be slightly complicated because of the way that data is stored. There's probably some fucky shit you could do with taking the secret tag off of sectors if you've already found them or something but generally the less fucky something is the better.
Now, with all that being said, 64 global variables in ACS isn't really that restrictive of a limit when you are talking about essentially just maintaining a bunch of true and false variables. You could easily use integers and just flip bits in them to multiply that number several times over, and if you need to track more than like 1024 boolean states (pretty sure ACS uses 16 bit) you might be overdoing it. If you have the ability to do this in ACS and the only thing that's stopping you is the variable limit, you should probably just look into bitwise operations because it will be much better for you to be able to modify everything yourself rather than having to pass the thing around or fiddle with a language you're not familiar with.
tl;dr You'll need to finish the map before anything else can be done no matter what, so it's best to focus on that first.