Necro-ing because this is my cup of tea, and I can add meaningfully. This is my goblin-based day cycle:
The goblin has just advanced through an open door onto a hatch, and from there onto a pressure plate that caused hatches in front of and behind him to open. The hatches on the pressure plate he just left have not yet closed, but they will, in like 50 ticks. In something like 350 ticks, the door in front of him will open, the door (that's open in this picture) behind him will close, and he will advance forward again, to become trapped on the next pressure plate.
This goblin cycle is driven by a four-step repeater as described earlier. Two opposite pressure plates on the four step repeater are attached to alternating doors around the outside of the cycle (the inside doors are so I can do a manual adjust rather than having to make sure the goblin and my repeater start in the exact right position). That means that at time = 0-100, one set of three doors are open; at time = 200-300, the other three doors are open.
Each pressure plate is linked to the adjacent hatches. Note that the design of doors and hatches allows progress onto a hatch, but no retrograde motion. Each pressure plate is also linked alternately to one of three exits from the cycle to permit the goblin to think he has a path. Three exits are necessary because with two, adjacent pressure plates need to be linked to the same door, and the goblin will reach the pressure plate before the close signal has come from the previous pressure plate-- so he'll land on a pressure plate, the door will close after that, and he won't think he has a path next time he's capable of advancing. Note that these paths have to be unobstructed paths to a map edge. If you build this under your fortress and then close the bridge, it'll stop working. I worked around this by building it separate from my fortress, just in case, connected to the surface by an indestructible, securely closed artifact hatch cover-- everything with hands that wants to kill goblins is also a building destroyer, so it works.
Just as two ends of my 4-step repeater are linked to alternating doors, two ends of this 6-step goblin cycle are linked to alternating doors in a 14-step week cycle. I haven't done it, because I got bored, but the week cycle can be linked to a 8-step month cycle, which can be linked to a 24-step year cycle (although really you'd use a 8 step linked to a 6 step for building efficiency).
So if the 4-step cycles every 400, why do I need a 6-cycle? Days are 1200, so couldn't I use a three cycle? No, the alternating doors require that the goblin move 2 steps for every cycle of the previous repeater.
Note that this style of incrementation (creature-based incrementation) is totally arbitrary. Water-based incrementation would be simpler. You can use a series of alternatingly-triggered bridges to control the motion of water down from a source to an exit tile for the same effect, and it's much easier (although for instance a 14-step water drop would require something like 21 z-levels, at least, if you wanted a pressure plate on every step). Linking pump-based repeaters to pump-based repeater is fine too. No matter what you're doing, you're just moving a bit of information (creature or water) from cell to cell with every half step of the cycle driving it. There's no need for huge power sources, no need for giant load-providing gears, no need for fluid-logic (well, it's all logic anyways, really).
Now, originally I wanted to use a completely goblin-driven clock. I never considered modding, so it might be possible if you use every tool in your arsenal. Here are the problems I ran into:
a) Actual fortress-mode creature speed is poorly understood right now. Dree12 and I did some research on the effects of attributes on speed here:
http://www.bay12forums.com/smf/index.php?topic=91016.0 You don't have to understand that big nasty equation or ever use it, though, unless you want to make some weird delays; the shortcut is that a creature who's strength+agility=2267 moves at unmodified speed (move at 0, 10, 20, etc for default speed 900 creatures, what I call delay=10).
There's a huge caveat to that: it only works in arena mode. The same principle applies to fortress-mode creatures, but there appears to be other factors at work as well; since arena mode creatures spawn without traits, I suspect that's where the noise is coming from, but I haven't figured it out yet. I suspect that if you used DFmode to switch to arena, spawned a creature, used runesmith to set its agility and strength, then switched back to fortress mode, you could make a perfect delay 10 creature (or delay anything else, from 6-15 for speed 900). However, I have no idea how such a creature would path. Probably editing flags could get it to path how you wanted.
b) Diagonal motion. Basically, it's a big no-no. You could potentially build a timed creature loop using entirely diagonal motion, if you wanted an abnormally slow movement, but there is no reasonable value of delay that leads to an integer for moving both orthogonally and diagonally (a super slow creature could potentially have such a value, but we're talking like 128 times slower than normal). So you're stuck with orthogonal motion, which limits designs.
c) Timing issues. When a goblin loses all paths, I can't predict how it behaves. (Some of its behavior is predictable-- run it into a hatch-plate combo without a path behind it for another delay ticks but with a path available before delay*2, and it falls, gets up, such that it takes 5 movements to go the other way.) When a goblin has multiple paths, I likewise can't predict how it moves (it doesn't just adopt the shortest path). You combine that with fixed trigger times (plates trigger open when creatures step on them, close 100+delay steps after they step on them) and you start getting into some math-crazy territory where I am personally out of my depth. What it amounts to is that a goblin of a given speed will move predictably on a path of a certain length, but not on one of another length, either longer or shorter.
EDIT: One alternative to building a perfectly timed creature, should that prove impossible, is finding a perfectly timed creature. It's possible to build a hallway that can only hold a creature with delay 10. Exploiting build order, it's even possible to build it such that it rejects creatures crossing 10 tiles in 99 ticks or 101 ticks, meaning that you'd have a reasonable rate of throughput. More, you could design a feeding chamber that (usually) permitted only one goblin from a pit into the chamber at any given time. If you did that, all you'd have to do is pit a few hundred goblins and look every once in a while to see if throughput had stopped.