You are over-thinking the problem. A 5v->3.3v buffer/level shifter is only good if you are trying to write to the XBee. But you can't write to the DOUT (Tx) pin - and putting a unidirectional buffer there will prevent you from reading it.
There are bi-directional level shifters: http://www.adafruit.com/products/757
But that seems like overkill.
Looking at Rob Faludi's book: http://www.adafruit.com/products/963
his Arduino/XBee connection diagrams all show direct (unbuffered) connections for both DIN and DOUT.