Lets get one thing straight right from the beginning. XBee != bluetooth.
I have read a few tutorials and Im under the impression that you have to take out a chip from the arduino to program the xbee.
If you want to use the Arduino with XBee shield to configure the XBee, the chip must be removed so that the data sent to the Arduino is not intercepted by the 328 chip. Instead, the data goes directly to the XBee.
Can i program the bluetooth module with the xbee explorer thus removing the need to remove a chip from the arduino?
You can use the USB explorer, instead of a de-chipped Arduino with XBee shield to configure an XBee.
What you can do with it and a bluetooth module, I have no idea.
I have a sparkfun xbee shield and it has a switch on it, im sure i read somewhere with that shield you dont have to remove chips?
Sparkfun sells at least two different (and I mean radically different) XBee shields. Without know which one you have, no advice can be given.
Also my laptop doesnt have bluetooth so Ill need a dongle of some sort, which ones would people recommend, there is a £5 one in protopic but I dont know if its reliable as ill be using my device in a house, at least 20m and through some walls.
No, you won't. Standard bluetooth has a maximum range of 10 meters. There are some bluetooth devices that support up to 30 meters, but they have at least one extra 0 in the price.