Speaking as a monkey user, I would like to have a fast dependency tree resolution on emerge tasks.
Another exotic feature is to use a layered filesystem in order to keep different sets on different layers. (Example: layer system: core utils, layer desktop: application, layer user: other stuffs). Something like nixos or coreos (rip.). When install, portage will create a snapshot of the destination layer, and install on this. This will increase the complexity and will us happy to discover something of new.