1) A GUP can serve 10000 clients provided that it has the required resources such as memory, CPU, bandwidth. Also, the clients need to be configured with suitable heartbeat interval and download randomization (in SEPM) to be able to evenly download the updates. Also, the SEPM should keep enough number of previous definitions to facilitate the differential updates so that the GUP can efficiently serve more clients with smaller updates. The frequency at whcih the SEPM downloads the new definition aslo contributes to this factor.
Practically, I would suggest having more than 3 GUPs for 10000 clients.
2) In a network where the clients are set to download the latest definitions as and when they are available, the GUP need not store definition older than 2 days, because the GUP doesn't have the capablity to merge or create differential updated. It is just a proxy and acts as a medium which avoids downloading of same file more than once. Hence it is enough to have a maximum of 2 days.
For SEPM12.1 RU4 and earlier: Note that in SEPM we keep definition by "number of revisions" and in GUP it is by "number of days". Symantec releases 3 definitions per day. 1 definition set might occupy 1.5 GB (actually a little lesser than that) of cache on GUP. So, if you have set the SEPM to download all the definition that are released on a day, then the GUP cahce must be large enough to hold 6 definition sets, which is approx 9 GB.
For SEPM12.1 RU5 and later: The content distribution technology has been changed in the newer versions of SEPM. Thus the space required for the storage of definitions on the SEPM and the GUP are considerably reduced. Hence 2 to 3 GB of cache is sufficient.
3 & 4) Brian already answered them.