most of the ircd's out there are based on GPL, and available by source. if such functions exist, they are possible to see in the code, and need probably some configuration switch to be set, or some configuration option ( runtime ).
it is much easier to snoop on what a user says if you have simply access to the machine where the ircd runs, and easily tcp-dump a certain IP's traffic, where everything is transmitted plaintext. such a ( shell ) script would run externally of the ircd, and use not many resources, except disk-space ... a little perl program would be enough to strip unwanted characters from the dump-file, and/or filter out specific portions of the text ... this does not work obviously for DCC's, which are only initiated through the server. ( of course, an ircd could filter the dcc, and, as already pointed out, intercept it, and log what is being passed through, or have it be intercepted by some other process or machine even. )
however, this would mean access to the machine where the ircd runs, and ... not many ppl, except the irc-admins themselves usually have that possibility.