Is this for an IVR? Can you show the vector from Definity?
Maybe you can do this:
In your vector (script in Definity for call-routing), you make a query (adjunct route) to your app, wich depending on the time (I assume the times aren't static, or you would be able to do it in vector as well), returns true or false. On false you do whatever you want to do, and on true you route the call to an agent.
All your agents will be logged in all skills at any time, only you determine to wich skill to call is routed.
Example (I'm doing this by head, so there might be syntax errors):
1 wait 2 sec hearing ringback
2 adjunct routing link 1234 passing ANI etc (what you need)
3 wait 6 sec hearing ringback (this is the time your app has, to come with a route or else step 4 is executed)
4 queue to skill 1 pri m (if true, else you've routed the call somewhere else with CTI)
5 wait 30 sec hearing music or whatever
etcetera
This way the call will go to the same agent, but through different skills depending on the time (and maybe other variable's your app can check). So you make three (or how many you need) vectors, and three skills, the agent is logged in in all skills, and your application decides through which VDN/Skill the call ends up with that agent (and what information is passed along with it).
If it's for an IVR, you can also use the feature AAS (Auto Available Agent). This is a feature that automatically logs an agent in on a given extension (mostly a line that goes into the IVR), and is always available (except when on a call, or disabled by the IVR etc.) This way you don't have to bother logging agents in or out (they all have the same skills anyway).
Hope this gives you some ideas, it's hard to understand what you're doing since you're not giving away too much info you know...
Cheers,
Nico