I've finally found my near perfect solution. Its called mRemote (
http://www.mremote.org) and runs on top of putty.
1) It supports multiple SSH sessions, including saving of username and passwords.
2) Usernames and passwords are stored in a file that can be exported and moved between computers.
3) Various session entries and folders containing entries can be dragged and dropped freely to reorganize the tree. It amazes me how many SSH tools completely forget this feature!
4) mRemote is completely portable
5) mRemote is open source!
It supports copy through middle click of mouse button, but not sure about paste.
Another close competitor for a good SSH client is Bitvise Tunnelier (
http://www.bitvise.com/tunnelier), but I found the interface too complicated and several features lacking (e.g. custom command support). Tunnelier's best feature is that each SSH session also opens up a GUI FTP window so that a person can drag and drop files in the background while running UNIX commands through shell in the foreground.