Tvheadend can work with IP streams, but it's mostly used for digital TV services. But yes, it can be used to pick up IP streams (if you know the URL) and relay those to e.g. XBMC clients.
From the main page:
Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources.
You take your pick, really!