I use KeepassX
; it's a separate project and is open source and GPL, as well as cross-platform.
The database is stored locally, has a master password, and is portable; in other words, if I make a change on one computer, I can just copy the database to another computer and have an updated database.
I've been using it over a year and it has performed excellently.
As for your secret code thingee, it should be stored encrypted. Just create a second entry and store it as the password. I can't be any more precise without more details about your bank login, and I don't want them.
As for security, it is important to compute with caution and "reasonable paranoia," but the only way to have a completely secure computer is to unplug it, fill the case with concrete, let it dry, and drop it into the sea.