You could write a plugin , which store the userid in a separate table . And another corn chcek which check at separate intervals for the users which can be unbanned at that particular time . When some user falls into a proper criteria , unban him at that time .
It is easier to be said , might take more time for implementing . :)