I just realized the error message is broken, but ECL does have read-only readtables and a function to lock them (ext:readtable-lock readtable &optional yes-or-no)
I am not sure about the pprint dispatch table, though. We just recycled old SBCL/CMUCL code for that.