I have never done this but I have scheduled both SQL scripts and router configuration changes. How you can do this or if will depend on your partition/route pattern/CSS configuration.
For example you could schedule SQL to delete a 9.@ route pattern if you had multiple 9.@'s. this would leave phones in a certain partition with maybe route patterns for the 3 local area codes only and the phones you dont want to restrict partition could have a 9.@ to use all the time. Then you could have an insert scheduled to run in the morning.
Or maybe you could schedule with Ciscoworks netconfig or some other script scheduler changes to the router configuration to occur at 7am and 7pm so you could take away the 9T on the POTS dial-peer and add a more specific one.
I guess it really depends on how much time or money you want to spend and i guess it will also depend on how granular you'll need to be.
This is in theory acheivable on some level. if you could provide more details on the environement and requirements it's possible the group could find a solution.