This one _ought_ to be really simple and _ought_ to really improve gameplay a lot, while taking up maybe 256 bytes and a small utility routine.
Set up a buffer that holds all the screen locations previously displayed. It should be really simple: every time the scene displayed ON THE SCREEN moves, the buffer logs the location and remembers it in case you want to go back.
So for example, suppose you scroll around a bit on the screen with the arrows, use F7 to look at your bedrooms, a screen comes up "You've discovered a cavern", F5 to look at the forges, you scan up through 10 levels of mining tunnels, some bitch drops a sprog. Then hitting back-arrow once gets you to the level (F5 + 10) you were looking at before she squatted and shot it out. Second time puts you on F5+9, third to F5+8, etc., until the 11th press (if I counted right) gets you to the cavern you discovered, the 12th to the bedrooms, and the 13th, 14th, whatever repeat the shifts in the screen while you were arrowing around (the way I'm picturing it, it wouldn't remember every single shift of the X _on_ the screen, just the screen shifts). Now because there were a lot of presses there you probably blew right past the cavern you were looking for, so some key next to the backarrow button (maybe = or \, should be whatever is most broadly compatible with multiple keyboards) should take you forward through the buffer again, like ^Y on a half-decent text editor reverses ^Z. (I suppose you could _use_ ^Y and ^Z but you might prefer to reserve them for actual actions rather than viewport shifts)
I think that if done in a pretty simple-minded, low level manner this wouldn't impose a lot of maintenance (it would be tightly associated with just plain moving the screen display) and would really make the UI more convenient.