encapsulate provides its client process the same environment it's started in, except for some limitations: encapsulate remounts the whole filesystem read-only, except for user-selectable regions which are mounted read-write. It also isolates the process from the system's process table, network interface, IPC, and shared memory tables.
ssh-ident allows you to have a single line in your .bashrc, then let it take care of loading ssh-agents when first needed, load all the necessary keys, and share ssh-agents across login consoles. If you have multiple identities for the same account, it is able to load different keys depending on the host you connect to or the path you are working from. At the same time, it keeps the ssh-agents separated and forwards only the keys which are needed for the specific host. It also allows you to specify ssh-add options, so you can automatically lock keys which are unused for a certain time, or have a confirmation request every time a specific key is used.