I think you could almost do this, if you assume we have far better bio-engineering skills then we do now (which you know, is required for this premise to happen no matter what).
The easiest idea would be base the mutation off of the number of generations that have been spawned. The problem here is that the number of generations spawned is very hard to measure, because some cells may grow and reproduce faster then others. For example, say that walk into a the hospital's new-born care room and declare your give 100 dollars to each of these newborns when they become a grandparent, how long will you have to wait? Well, it could be as little as little as 23 years or as long as 95 years one of those is nearly 4 times as long as the other, that's clearly a very different length of time! Thus it's hard to pinpoint an exact year or even decade that your need to start forking over money.
However, if you had a more accurate way of measure time passing for a cell then you could do this. If the cells could say "a time unit of this long as passed" in any way the rest is pretty 'simple'. You could have each cell encode what amounts to a chemical counter that increments each time a new time unit passed. When your cell divides both version of the cell get their own copy of the counter. Thus all the children and children of the children etc will have a counter that includes the count of time their parents and grandparents saw before dividing. You then just have to 'activate' when the counter reaches some appropriate value.
Any counter risks error, with drift or some screwing up. One way to fix this it to say that if one cell goes off it 'triggers' the others. This is not too difficult, as sending a chemical signal to other cells to trigger them is something viruses have been shown to do before. Thus so long as one cell manages to keep a proper 'count' it's okay if come cells screw up and mess up their count. With a virus infecting many thousands of cells, at a minimum, you have allot of margin for error. Thus your want to develop your virus to have a counter that can easily 'miss' a count, but will never count faster then it should. At least one infected cell should manage to have the correct count then.
So how can we build in a bio-clock, the original time teller we are counting? A halflife of an isotope is the most effective method of doing this, but this is pretty difficult since you have no way of ensuring the cells could get the appropriate radioactive material to use for halflife.
There may be other accurate ways of managing this counter, in fact I strongly suspect there are; but I'm not enough of a biology expert to say. So, while I think there may be an even more elegant solution, lets go with the one I know works. Use the host as your counter!
Humans have a regular routine that flucturates across the day, a routine regulated by many easily-detected chemical signals. If we could plug in to one that we could trust to be pretty accurate that would be great. The catch is finding a signal which we are relatively confident about how often it runs; one that won't drift, or will self correct. The easiest signal would be sleep!
We go asleep for 8 hours once a day. We may vary exactly when we sleep, or the hours each time, but your pretty confident to get one long 'dream-time' once a day. There are a whole host of chemicals and signals released while dreaming which can be detected and used to identify when a user is asleep. Thus you have the ability to roughly estimate when a day has passed by detecting that your host has gone to sleep.
Now this is not at all a perfect system, but with some careful working it may be a good-enough one. You would need to program in a way to handle situations where a host takes a 2 hour nap during the middle of the day for instance, but it is theoretically possible (with far more advanced genetic skills then we have mind you!!) to work in a way to ensure the counter only goes off when the host sleeps for at least 6 hours in a row. Of course some people may not sleep for 6 hours at once, they may get a combination of 4 hours over two nap times for some odd reason.
However, if our only goal is to ensure that the virus goes off NO SOONER then a set date this will work. Some viruses may not be triggered until after that date, but the majority will trigger on the correct date, and who's to know rather a new case is from a new infection or an old infection that was a few dates late on triggering?
Some work would also have to be done to handle situations where the virus jumps between hosts when host A just woke up and host B is about to go to sleep, but again this could likely be handled pretty easily by having a delay for when a virus starts 'counting' sleep cycles. Again, the idea is to allow some infected to trigger later, just never trigger earlier, so you can devise a system that errors on the side of caution.
I think a cleaner solution would exist if someone could create a 'half-life' like approach that gives a more accurate time measurement biologically; but until then a self-correcting approach like this wold mostly work. Mind you i don't think we realistically could develop this for awhile.