This is just a dumb question/suggestion, as I assign all the extension numbers manually based on a work order generated for the phone (because not all employees have their own phone - some are listed under the department's main number). I keep all of my extension data in a corporate "master dial plan" spreadsheet so I have it for immediate lookup.
Why can't you insert all of the available numbers in your current dial plan into an Excel spreadsheet or Access database and have a small application that assigns the number to the new hire? That same application would then print out the job ticket for your staff to create that extension, or, in the case of a termination, return the number back to the pool of open numbers and print the job ticket to remove the extension.
As long as your staff only adds or deletes extensions based on tickets from that system, or has the ability to update the database if they pull out an extension for a meeting room or something you should be OK.
Problem I would have with automatic extension maintenance is that the automated system does not know whether the number in question was published somewhere (esp. in a public phone book) or belonged to a major player like in HR, Sales or PR. When I delete such numbers I flag them for non-use and keep them vacant for at least a year - and even then, some little old lady that refuses to give up her old phone book because it has notes in it calls looking for the previous user.... If I do reuse a number early I make it into a fax or something else annoying so people get the hint real fast...