Sorry - I know that this is Q&A, but I can't find an appropriate place for feature requests, so here goes...
Unlocking the wallet for a period of time is one of the biggest security flaws with the bitcoin daemon. Once the wallet is unlocked then any process on an authorised machine can connect and issue send instructions until such stage as the wallet is locked again.
Just a thought, but how about appending the wallet password as an optional parameter to the JSON RPC calls that require an encrypted wallet to be unlocked. Assuming the implementation used SSL for RPC calls the password can be transmitted to the daemon securely and used to unlock it solely for that method call.