PLEASE, take a look at dpkg's and apt-get's way of handling pre-release versions, I really do think that should be used in rpm-based distros too.
The idea is to introduce a character, namely '~' (tilde), which is sorted specially: in comparison it comes before anything else.
This way, you can get ordering like this:
1.0~alpha1 < 1.0~alpha2 < 1.0~beta < 1.0 < 1.0a < 1.0b 1.0~pre1 < 1.0~rc1 < 1.0 < 1.0.1 < 1.0.2 ... and so on.
Hope you got the point.
I know it should be implemented in rpm, and this is not a trivial move, but please do think about it. It will make all these pre-release-versioning nightmares go away.