First the Portage Tree needs to be updated:
emerge --sync

Then portage can search for and apply updates to any installed programs:
emerge --update --ask @world

This command will not look for updates to any dependencies that were installed by any of the installed programs.
For this use the deep keyword:
emerge --update --deep @world

This will not look for updates to any build dependencies. I.e. packages that were needed for the compile and build stage of other packages.
To include these, and to ensure any USE flag changes are taken into account, run:
emerge --update --deep --with-bdeps=y --newuse @world

This is basically a FULL update to the system.

Now check for obsolete dependencies:
emerge --depclean

Finally rebuild the applications that were dynamically linked to the now-removed software titles but don't require them anymore:
revdep-rebuild