While possible in cron (with multiple entries to handle all the rules), I wonder if a better solution is to address the 'skip times' at the very beginning of the called program?
it would not be a bad idea to use 'at' if there was not other crons in use at that specific time. unfortunately these are all we are asked to halt. Any other ideas? cron examples?
You could setup a new job (cron or at) to swap in an alternative cron file that omits / adds those entries, at the desired times. Alternatively you could do as joeyg suggests and fashion a load of cron entries to meet the requirement, or add a time check to each of the affected scripts.
What about a at job that replaces the cronfile (removes the jobs...) and reload, then at end time of schedule an at job for restoring the cronfile and reload again ?