You'd need to look at digi.com's site to find out how many XBees can join in a mesh.
Does anybody know if the arduinos can be programmed via the xbee shiled?, as I am worried about the time required to program each deveice by hand.
I've seen some stuff on how to do this. Never been interested enough to follow up on it. But, it won't be faster to program the Arduino wirelessly than hard-wired.
Also, is it possible to stream audio or video over the xbee comms (I havent yet fully read the datasheet as you can probably tell).
It's possible. At a frame rate of about once per day. The Arduino has 32K of memory. That won't hold, in addition to your program, much of the video or audio stream. So, the data being streamed to the Arduino has to be streamed very slowly.