I have made a few (admittedly feeble) attempts to pare down the installed packages. I always end up missing things and fall back to a full install due other concerns. I'd be delighted to see anyone with the time and desire help us find the minimal set. As far as your questions:
a) If the download time is an issue, you might try downloading everything to a local machine once and installing everything from a local mount for all of your clients.
b) I never found the disk usage to be a problem since it's hard to buy a system with less than 80GB these days, but I can see that this might be an issue on older hardware.
c) You do in fact need the compilers in case you ever need to recompile the database or fileserver clients due to some version incompatability. In addition, the cygserver must be running to provide IPC facilities. There are also several dll dependencies, etc. that seem to cascade through. I agree that things like xwindows can probably be omitted. I just haven't tested it to be sure.