Redirect old subdomain name to new one

I'm running a multisite network, and I've had a few support requests by my users to rename their blogs to a new name.

I'm looking for an easy solution that will:
a) create a 301 redirect to the renamed site
b) lock the name in the WP database to prevent others from using it for the lifetime of the redirect.
c) expire the redirect after a set period (say 30 days) and release the name for new users.