Right now, Portage exports a lot of internal ebuild variables to spawned programs. This is bad for two reasons:
1. it breaks programs which use same-named environment variables for different purpose,
2. it allows developers to rely on them being exported while PMS doesn't guarantee that (and often doesn't even guarantee them having any sane value during ebuild run).
I think it'd be a good idea to start removing export bits on those variables whenever possible in EAPI 6. This will keep existing ebuilds working while preventing future reliance on this non-PMS behavior. However, we might need to employ some more IPC between some of the ebuild helpers and Portage to avoid requiring the variables being exported.
CC-ing pms-bugs@ for confirmation/opinion.