I will answer question 2 first.
ForestDNSZones is an Application partition that is replicated to all DNS servers in the forest that are DCs. Therefore, any zone stored in here will be available on every DNS server in the forest as long as it is a DC.
DomanDNSZones in an Applicacation partition that is replicated only to DNS servers in its domain that are DCs. Therefore, any zone stored in here will only be available on DNS server in that domain as long as it is a DC.
Answer to question 1.
If a zones replication scope is "Replicate to all DNS servers in a forest" you are storeing that zone in the ForestDNSZones application partition. Once the zone has replicated around you network unless you have a huge network (or a very slow one) there should not be too many bandwidth issues.
Answer to question 3.
GCs register their records in the _msdcs.nsroot.net zone, which should be a zone created during DCPromo (if you installed DNS during DCPromo and you are using Windows 2003 or later) and is stored in the ForestDNSZones Application partition.
If you don't have all zones present on each DNS server you should verify that you can resolve names accross all domains.