Well, the basic installs are all supposed to propose an initial set of selected services (a kernel, a basic running environment, OpenOffice, editors, at least one desktop, a mailer, a browser, ....). The packages corresponding to these services should be marked as explicit and all the others implicit.Naively, I would think that you could mark individual packages as explicitly installed or not in the rpmdb. So tools which interact with the db could set that flag accordingly and such a demarcation could be queried or used in transactions.There's a logic problem here -- how do you determine which packages are marked which way on a fresh install? Marking them all as explicit means you rarely remove anything. Marking them all implicit means the first time you remove anything it destroys your system. There's no obvious determining factor to use as middle ground, at least to me.
If this is difficult to achieve, then mark everything as explicit at install time and this scheme will work essentially for user added packages and their dependencies... This still has quite some value. Believe me, the number of packages installed just to solve dependencies is quite high once the user start to ask for some addons.