bufferなどの疑似ベクタのオブジェクトはLispオブジェクトだけじゃなくて
C言語レベルの情報ももっている。
それをシリアライズする方法は存在しない。
ましてや#<buffer *scratch*>から復元するのは無理。

でも、もしかして"#<buffer *scratch*>"という文字列から*scratch*バッファーを
得たいなら、string-matchでも使って文字列"*scratch*"を取り出して(get-buffer "*scratch*")