Although RPM makes provision for both multiple versions of a package and multiple releases of a given version, it doesn't appear to make provision for manipulating multiple simultaneously installed versions or version releases of the same package on a system.
The "-allmatches" erase option seems to come closest to recognizing the need for this flexibility, but the statement "Normally an error is issued if PACKAGE_NAME matches multiple packages" from rpm(8) points to a lack of support for this level of flexibility.
The Unix package system includes the concept of a "package instance" and provides the means to manipulate the package database at the instance level. Commands such as pkginfo(1M), pkgchk(1M) and pkgrm(1M) all take package instance identifiers as an argument as opposed to just a package name.
How does one emulate the Unix package instance capability under RPM? Is this level of flexibility possible?