Nice idea!
Currently the expiration date is used to be able to create a temporary account, but that's probably less useful than the option for expiring passwords. It could be used for password expiration instead, and without notification, will result in a blocked account anyway

I think the easiest and most userfriendly version would be to just allow the user to enter with old pass, but spam him in mainchat to use +password <blabla> to change his pass once expiration date is close. No hard expiration that way, but nagging might work, this is useful for high profiles only anyway i think.
Btw: sending hints to a user who has forgotten his pass is just dangerous imho, makes it easier to guess a password when attempting to hack an account.
Edit: Making it a hard expiration should be possible, so a hubowner can enforce the passchange and keep security 'up to date'.