If you are not seeing a large user base then you can go for customizing this.
one option that you can look at is to tweak the logon module.
1. maintain a table with users and their 'allowed' time window. Maintain this in the Server time zone.
2. Modify the logon module such that it looks up the user id and compare the current time with the allowed time window in the table which you maintained.
3. Have this check only for the 'dialog' mode user ids.
Disadvantage:
- This will take a toll on the Dialog Response times. If we are talking about a large user base then it is not going to be a desirable option.
- Impact on internal logon mechanism has to be analyzed.