Short answer is that there is no simple solution to block *.idnes.cz.
You can extend the method you describe by adding every hostname you might need to block to /etc/hosts. Otherwise you'd have to install something like Squid as a caching proxy and write "access control" rules to block the domain. In squid you can do this:
which defines an "access control list" for the domain idnes.cz, then adds a rule to block access to any URL that points to that domain. You'd then have to configure the browsers to use the proxy or set up Squid for "transparent" proxying and add an iptables rule.
acl idnes dstdomain idnes.cz
http_access deny idnes
Another, simpler solution is to use a browser add-on like AdBlockPlus for Firefox and add a rule to block anything from idnes.cz. This is easy to thwart, though, since the user can simply disable or delete the rule.