rpm.eclass can use app-arch/rpm instead of app-arch/rpm2targz when it is available. But in rpm.eclass it defines DEPEND=">=app-arch/rpm2targz-9.0-r1" which forces app-arch/rpm2targz to be installed. It should be changed to something like DEPEND="|| ( >=app-arch/rpm2targz-9.0-r1 >=app-arch/rpm-4.4.6-r6 )" other ebuilds can still defines DEPEND=app-arch/rpm to force rpm to be used.
or we force the latest version of rpm2targz, strip all of the logic in rpm_unpack, and just have it be: rpm2tar -O | tar xf -
I think that's not a good idea. An user may install rpm for some reason, and rpm can extract those files as well. But there is no reason to force the user install rpm2targz when he/she has rpm installed.
if that's your only reason, then i'll go ahead and convert it to rpm2tar. the package is tiny and "bloat" really isnt an issue with it. no point in basically duplicating the entire rpm2tar package in the eclass.
http://sources.gentoo.org/eclass/rpm.eclass?r1=1.16&r2=1.17