If I understand it correctly, adventure mode map locations are generated by taking the unfinalized world description and then generate the specifics based on a set of RNGs tied to that location, so the location will be reconstructed the same way every time.
A way to allow permanent changes to a location without fully generating and saving it would be to continue to generate the location, and then add a post processing step where each modification is reapplied (basically "remove tree at location X, then remove tile (X, Y, Z), then ...), more or less like a macro. The modification actions performed could initially be stored in the order they were performed, but may benefit from some kind of analysis where you can collate some actions (such as "remove this block of tiles", rather than a sequence of individual digs). It should also be noted that these remove (and add gabbro wall at (X, Y, Z)....), ... actions should differ from their originals in that the repeats don't generate/require any material (no logs, boulders, etc). If an analysis and collation is done, it could also take the results cave-ins into account, to generate the post cave-in situation, rather than recreate the cave-in (which, again, shouldn't generate any material).
The obvious drawback to this approach is that extensive modifications may result in rather long location load times. An upside is that location regeneration probably is a good candidate for a parallel process that can be executed as the location is approached. There is no doubt some DF players will start mega projects in adventure mode is given the chance, though...
A further refinement would probably be to have some kind of logic to determine that a site has been so extensively modified that it needs to be changed from regeneration into a saved state, similar to a retired fortress.