You can certainly accomplish this - a couple of notes:
1- Restricting Login based on time - this would not be done with HC. This would be done through Role Mapping and using custom expressions. So you can build a custom expression that only allows login during "X" times:
Example of Monday to Friday
(loginTime.dayOfWeek = (Mon to Fri)
AND
loginTime = (8:00AM TO 5:00PM))
You can then do MAC address checking through a Host Check rule using the rule type of "Custom:MAC Address"
In your role mapping rule you can create a custom expression that will look at both "time of day" and host checker results to determine role assignment.