Is it possible to set an expiration date for user accounts?

I think the idea of using a custom field and a scheduled job makes sense.

Also, workflows could be used for this now.

No custom plugin required.