Reader macros are used when there is a syntax for literal objects that you may want to have. The single problem with them is the flat namespace for possible syntaces (however, there are ways to work around that).
There are not so many usages of reader macros. Some examples that come to my mind are:
- http://weitz.de/cl-interpol/ - a syntax for string interpolation and extended string notation
- http://trac.clozure.com/openmcl/wiki/OpenMclFfi - a syntax that imports symbols from C language (an automated form of FFI)
- http://clsql.b9.com/manual/sql.html - a syntax for SQL queries - not terribly useful
- http://www.agentsheets.com/lisp/XMLisp/ - embedding of literal XML fragments into Lisp code