If I have understood your requirement correctly, logically you need to maintain two queues -
1. one for tasks created during Business hour that needs to be processed almost immediately (max delay is 60 secs).
2. one for tasks created during non-Business hour that needs to be processed with 5 minutes delay.
In that sense, you need two agents anyway, from logical point of view, as single agent can follow a single queue.
If you still need to utilize one single agent (that will run in every 60 secs, irrespective of business or non-Business hours) you can programmatically add delay (min processing age field in Queue-For-Agent method) when queuing the task, created after the Business hour.
Though it will meet your requirement but this is not the recommended way to do it, as agent will use up resource even in non-Business hours as frequently as it does during Business hour.