Running it gives in /root/ among others these 2 lines: dev-lang/python:2.7 sqlite dev-lang/python:3.2 sqlite but I do both python packages built with USE flag sqlite. Maybe this line in /etc/portage/package.use isn't parsed right : dev-lang/python sqlite ?
PEBKEC I fear
The reason it puts them in individual slots is that when it finds multiple slots of a pkg installed. The safest way is to record them individually. USE flags can change between versions, also you may install them with differing use flag settings. Also IUSE can change between slots. Since the code cannot predict how you might want it configured. It records them individually. From there you can do a simple edit to make it just the one unslotted entry if you prefer. That way the setting will automatically apply to a new slotted version. That is also another reason it does not automatically change the existing package.use file/directory.
Thx for the explanation - one point however came into my mind: I've FEATURES"test test-fail-continue" defined and got few (~130 packages) to be rebuild - but I'm pretty sure most of them were already built with the given FEATURE string. This irritates me a little bit.
That has nothing to do with enalyze, nor do I think even revdep-rebuild, or any other part of gentoolkit. That sounds like an "emerge --changed-use" issue. If it really is, then open a separate bug for it.