If you have a satellite dish and a satellite tuner, then it depends on where you point the dish.
You've got plenty of options for what to use as the PVR back-end - on Windows you have MediaPortal, ArgusTV, NextPVR, and on Linux you have TVHeadend and others (I don't use Linux so can't remember the names)
My Freeview HD tuner card is in my server (which runs WHS2011), and runs ArgusTV. My tuner card is a dual tuner, so I can tune to 2 multiplexes (of a total of about 7) at once - which means as many channels as are on those two multiplexes - ie I can watch all 4 HD channels, as well as the ~10 channels that are on another multiplex. (To view all channels simultaneously, I'd need as many tuners as multiplexes)
With satellite, it's even easier, as there's only 4 variations, as opposed to ~7 on Freeview - so to view every single satellite channel simultaneously, you only need 4 tuners!
XBMC itself doesn't talk to the tuner hardware - it uses these 3rd party applications (ArgusTV etc) - these can either be installed and running on the same box as XBMC is, or on a completely separate box (as I do with mine - my server, which is always on anyway)
There's nothing illegal about tuning these channels - obviously you will still require a TV licence as you are viewing or recording TV as it's being broadcast - it gets into "illegal" territory if you go to efforts to, for example, attempt to view encrypted Sky channels. But for the UK/foreign channels which aren't encrypted, then it's perfectly fine.