ASDL で出来るのだろうなと思い調べてみるとありますね。
この通りにやるとできます。ASDF の Ver3 に移行したので、すでに .config/common-lisp/source-registry.conf.d をつかってます(てのはすでにブログに書いた) asdf を久々に使う - 新千葉 ガーベージ・コレクション
さて、あとは動的に出来るはず。禁じ手的な asdf:central-registry を書き換える(これは Ver2. の手法なのでおすすめされていない) がありますが(通常の registry より後方互換のために先に読まれる模様)
asdf:initialize-source-registry で設定すれば動的に出来ます。はい。その際に DSL (S 式だけどこの ASDF アプリローカルな記述ね) を使えば、あとからロードパスを設定出来てそれは優先順位的に先に設定されるもよう。引数には :inherit-configuration か :ignore-inherited-configuration を設定する。前者は既にある設定を引き継ぐ(つまりいま設定しようとしている値を足す)、後者は既にある設定を無視して新たに設定しなおす。
DSL の詳細はこちら ASDF マニュアル
あと asdf.conf というファイルを置いておくと自動的に読み込まれるみたいね(試してない。既出の wshito さんのページ 参照の事)
ということで、ローカルにプロジェクトをダウンロードして自分でディレクトリ設定してそこにバージョン違いのものを入れておけば、複数の違うバージョンのものがインストール可能。
ついでに書くと asdf:user-cache を上書きすると、普段は ~/.cache/.... の下にコンパイルされたオブジェクトが置かれるけど、それを変えることが出来る。
(setf asdf:*user-cache* #P"/home/user/Works/my-cache/")
こんなかんじ。 あ~これ便利だわ。