I'm not sure if this feature is available without some custom code or not:

I would like a member (lets call them a manager) to be able to purchase 10 gift codes and then issue them to whomever they choose (their staff members).

However I would like the manager to be able to deactivate gift codes (say if a staff member leaves) and then have the plugin generate a new gift code in place of the deactivated code (should appear in the managers list of gift codes).

The staff member whose code has been deactivated should then not be able to log in to the site.

I'm a developer so I'm not afraid to get my hands dirty, however any advice on the best way of acheiving this would be greatfully received!