Is it possible to send sensor data over 10 kms using zigbee technology?
The trouble with Zigbee (XBee and Xbee pro) is that devices like this are intended for fairly high data rates and this limits the receiver sensitivity. This means you have to transmit more power to get a certain distance compared to a naturally low-speed data rate system whose receiver has much more band limiting and therefore can cut out more noise. A general rule of thumb for the power needed by a receiver is this: -

Power required in dBm is -154dBm + 10\$log_{10}\$(data rate) dBm

So, if the data rate is 1000 bits per second, the receiver power needed at the antenna is -124 dBm. Zigbee has a receiver sensitivity of about -100 dBm and this implies data rates of about 250 kbps i.e. a lot faster but speed isn't needed for this application.

How much further can the extra 24 dB get you?

The generally accepted formula for link loss is this: -

Link Loss (dB) = 32.4 + 20\$log_{10}\$(F) + 20\$log_{10}\$(d)

where F is MHz and d is distance between the two antennas (kilometres).

At 1 GHz and 1000 metres, link loss is 92.4 dB. At 10 km, link loss is 112.4 dB so clearly an extra 24 dB in receiver sensitivity is going to yield a working distance that is over 10 times greater.

Having said all that I would seriously look at sharing the existing telephony facilities that exists between rail stations. It's not a great big problem to modulate the data up to 100 kHz and superimpose this on the cables used for telephony. It's rather like how broadband hi-jacks the telephone copper but simpler. You get the added bonus of a system that cannot be easily hacked or interfered with.