gzip has an argument -r to operate recursively on directories. I find this option to be really useful and practical. Will there ever be an option like this in xz?
It's a todo in the source code. Implementing it isn't at a high priority, and it's possible that it won't be implemented at all. Good patches are welcome though.
Often you can use "find" and "xargs" to get a similar result, but it needs more typing or a wrapper script. With this method you can compress files in parallel which is very nice when there are many small files. See "Parallel compression of many files" on the xz man page. Implementing the same thing inside xz would doesn't sound so quick thing to do.