There's no way to hide your IP or hostname. The only way peers can even connect to you is if they have your IP (and in turn hostname).
The best you can do is use a filter program like PeerGuardian2, which will block IP addresses of known organizations (government, anti-P2P, etc) from connecting to you. Anyone can still find your IP if they really try (by using swarm information stored on public trackers), but if PG2 blocks the connection, they won't be able to download anything from you -- which in turn means that organizations (again, govt, anti-P2P, etc) can't tell if you really have the file or not.
It's not bulletproof, and you need to make sure the filter list is updated regularly, but it's a good start. PG2 runs as a separate program in the background, meaning you can use any client you like (uTorrent, Vuze, etc), and it also works with other P2P protocols like eMule, LimeWire, SLSK, etc.