Hi!
I thought a bit about this.
*readtable-alist* is just a kludge. First of all, it violates CL standard: in-package changes readtable implicitly.
The main problem of the approach is non-portability. It will work OK while you're in SLIME, but it won't work in just the same lisp REPL without SLIME.
It would also work in a bit unexpected manner when you bind *package* and then call read.
It won't work in other CL environments. So I think *readtable-alist* is harmful.
I suggested verbose, but correct approach to deal with multiple readtables vs source files. If my suggestion is accepted, it looks like *readtable-alist* must be removed from SWANK.
Evidently it is a breaking change and it can cause a trouble for SLIME users, but in the long run accepting my approach would be profitable.