Connecting Xbee to Arduino Micro
The best way to interface the voltage levels is to use a voltage level converter/shifter You can buy these off the shelf as a finished product or make them yourself using transistors/opamps. 

For the diode you need to check its frequency response. Its better to use a signal diode in this application (such as 1n148) as it can handle higher switching rates without distortion. This will ensure a more reliable design. 

A double sided switch would work to enable programming. However, you can easily emulate another serial port using software serial as explained here.