I can give a general overview of what a company I worked at has done. It seemed to work pretty well.
We had a centralized application password service - if you needed a connection to DB2, you had to go through the service to get the connection string.
Every application had a "1" and "2" version of their userid. If "1" was the currently active user, we would change the password on the "2" version, and then push that to the connection string service, so new connections would start to use that userid. We would change the passwords every morning.
The downside was then that you had to call a service to get the userid/password, but we mitigated this some by caching it on the client.
Hope that gives you some ideas!
------------------------------
Bryan Hamby
------------------------------