There's another oscillator that you can control - a filling magma pipe. How long it takes to fill of course depends on the size of the pipe - it's height and how much you are willing to excavate around it to create additional volume, but I can attest from Morul's fort that setting up a pipe to take a year to fill is entirely possible. Then you just need a pressure plate at the top to detect that it has filled, open a door, turn on the pumps to drain it, and once drained have it trigger another plate to turn the pumps off. Once the top z-level is cleared, the plate would close the door.
The trick is that the year cycle isn't just the filling, but also the draining. That makes is more likely that a stock pipe will work, and powered pumps are pretty reliable, but you'd probably need 3-5 pumps directly tapping off of the pipe to do it that fast, and that's a really damn hard tap to do (trust me, I've done it). Personally, I'd dive into one of the modding tools to do it.
As for a counter, you can (possibly) set up a series of floodgates along a channel that would receive water. Use the annual timer to trigger the release of one tile of 7/7 water into the channel. Pressure plates set before each floodgate in the series would wait for 6/7 water and then open the next floodgate, lowering the water level, but not to evaporation level. Way down at the end, after the appropriate amount of math has been done, have a pressure plate that once the last floodgate is opened, triggers the 10, 100, or 1000 year door, opens a drain, resets the floodgates, and starts the system over again. For the 1000 timer, you'd need to hold 7000 units of water. A channel winding across an embark tile would hold about 1100 units, so you could even fit it into a 3x3 embark with different timers on different z-levels.
You could also use the same system on an abacus type arrangement, with the 10 year counter triggering a 7/7 release into the 100 year counter which after 10 releases triggers a 7/7 release into the 1000 year counter. So long as the water stays uniformly at 2/7 or higher, it should be reliable.
There's lots of pressure plate junk to deal with and getting all the settings right for opening/closing/resetting stuff can really add up, but it's easier than dwarf computing for something of this scale and I think this might be close enough to viable to take a real stab at.
Edit: Heh, I see Mechanoid had a similar idea while I was typing. My plan didn't consider pressurized water, just regular water sloshing around.