I don't fully understand the network topology you're describing. Are network A and network B only able to communicate with one another through the Jenkins server (and not by any other means)? If so, that surprises me, since only allowing Jenkins between the two networks seems like a lot of work without much gain.
If you're willing to allow Jenkins to communicate between network A and network B, why not allow ssh or https communication between network A and network B so that a git clone could be performed between the networks?
In general, I think you'll be better served by having git perform your fetch rather than using the Jenkins stash mechanism. Git fetch is aware of the repository structure and performs incremental updates from within git. I'm not sure that the Jenkins stash mechanism uses incremental updates (yet).
Mark Waite