I'm not saying I disagree, but how would you verify identity over the phone?
answer = PBKDF2(hmacsha1, password + question, "", 100000, 16)
This is also incidentally the basis for how I generate unique passwords for every service except banks, communication, and other sensitive things. I want a different password on every website and don't want to trust any password-remembering software I didn't write. The same function works fine for generating answers to secret questions.By that, I mean the overall security of your password scheme is analogous to what people get out of a password manager.
Still, a lot better than password re-use.
KeePass? It's great, and open source.