Energy harvesting to power Xbee
I think you'd be hard pressed to get the required 150mW or so, although it isn't impossible.

Looking into piezo-based energy harvesting systems, one product claims about 7mW constant power. I would assume this scales reasonable well though. This is using a 3x7cm bendable piezo element and some electronics to store and convert the energy. There's a lot of info on piezo.com.

Using the device above you'd need 20-25 of these elements. As they flex quite a bit and obviously should not touch each other, you end up needing quite a large box.

If, however, you are able to design the radio so it only transmits at a low duty-cycle and goes into some deep-sleep power saving state if it doesn't transmit, this seems feasible.

Although he isn't using XBees (but RFM12B radios), have a look at the jeelabs.net website - there's some examples on low-power use of microcontroller driven radios.



With the added detail that the frequency of the vibration will be between 80-260Hz, have a look at this device. The specs state it can generate 7mW at 50Hz - they're not cheap though at $600 for a kit. And you'll be needing something in the order of 25 of them.



Two bonus links: Linear has done some research on this (you've probably seen this already), using this sensor.
Quote:


  energy
  harvesting can produce about 1mW–10mW,
  where the active sensor-transmitter
  combination may need 100mW–250mW.