They are surprisingly easy to hack into a working prototype:
* (defpackage "FOO"
(:local-nicknames "X" "SB-EXT"))
The diff is tiny: each package comes with a (string=) alist of local nickname to global name, and read-token looks up in that plist when a package designator is tokenized.
Issues: what are the edge cases and how should they be handled?
In particular, what do we do with package redefinition?
Is that really the best syntax?
Please discuss (: