I beleive it would be very helpful if RPM would allow specifying "BuildRequires" field in a SPEC file that would describe the programs necessary to compile this package. That would give an easy way to specify that a package have to be built using some specific version of gcc or some specific version of some *-devel package.
BuildPrereq is in the process of being added to rpm-2.9x.