You can write an escalation that could set the value of someone's status to INACTIVE or BLOCKED. To have it expire separately from the password you would have to build a mechanism. The simplest mechanism would be this:
In the Database Configuration app, add a new column to maxuser called "userexpiration", same as pwexpiration.
Shutdown the app, run configdb.
In Escalations, create an escalation that checks the userexpiration against SYSDATE. If SYSDATE is less than or equal to userexpiration, set maxuser.status = 'INACTIVE' or 'BLOCKED', your choice. Set the escalation to run every five minutes or so, whatever you feel is a good frequency.
This solution works for v6 and v7