I hate to say it, but this is one nice thing about rpm spec files: you just list Source: ftp://host/path/foo.tar.gz and if foo.tar.gz is in the local SOURCES dir, it uses it -- and handles multiple Source: lines. (It's trivial, but it's useful...)
In particular, I'd find something like that useful for (1) gnat, which needs a huge gnat tree *and* gcc (2) prc-tools (gcc for pilot) which requires gcc (and patches it, though egcs might suffice), but isn't otherwise all that much source... (3) hmm, there was *some* other package but I forget which now.

