Not really. Simply maintain the build versions and such in a separate file per distro. Check the version and which distro you're running, and have it wget it to /usr/local/directadmin/customapache/build_versions
Once there, it's all the same really. Create a function that makes the binary, so you only have to call it like build_binary PKGNAME PKGVERSION. The function would detect the distro and version of the distro and build the binary that way. So instead of duplicating the same thing for each package, it's modular.
EDIT: You actually don't even need a per distro version.. Just get the spec or build setup based on the distro, and use it. You don't actually have to use the versions available through them. At least if I'm not wrong in thinking most packages don't require an exact version.