Question as in the title. I am not worried about speed, this is purely for development purposes. Essentially I want to run a Java based environment(Although strictly speaking its not a webserver) to test out some networking protocols. Would running this on a laptop using a 3g dongle work or would there be some restrictions on the 3g network? e.g. would a NAT on the 3g network screw things up?
No one can answer specifically to your 3G provider, but as you mentionened yourself, it will be awfully slow. Wouldn't it be better to just get a small, cheap VPS account somewhere? Try vps.net for example. I don't see that it would be worth saving $10-$15 when vps.net is so easy. Make things easy and simple for yourself.
Yes it is possible. But it will be very slow. Download xamp at http://www.apachefriends.org/en/xampp-windows.html
In theory it should work (I've done something similar a couple of different mobile broadband ISPs - it is possible you might be on an ISP that blocks certain ports, though). In practice, you'll probably find it to be incredibly slow and unreliable. If all you want to do is test smething, it should be OK, but definitely no good for a production server
Well I think you need a great bandwidth to do this. You need to be a good company with lots of money.
Yes you can. Many of our laptops have these fitted and we regularly remotely connect to these laptops for sync and update purposes. Not exactly what you are doing, but the prinicpals are the same and there's no doubt it would work. Might be against your mobile providers Terms so you should check.
As he only need testing environment , probably in a lan . Also it is easy to configure wireless connection to NAT . I used a similar setup , please see my documentation for it below, http://www.sherin.co.in/wireless-internet-connection-sharing/