While it would not be possible to implement everything, could it be useful for domain specific applications to have a lisp based contract language that implements a certain subset of features? Probably couldn't have call/cc or TCO, but It would be nice to in theory write contracts capable of writing other contracts. Why has LLL been abandoned? Looking around I don't see any way of using it with geth. Serpent compiles to LLL supposedly so there should be some kind of interface.
There is a contract language with Lisp syntax called LLL. Well at least it was used in the early days and probably is not well maintained. See this topic: Is LLL still used as language?
EDIT: regarding your proposal of contracts writing other contracts - it is already possible. In Solidity new contracts can be instantiated and deployed, but those have to be written upfront. No self modifying code and definitely no Lisp-like macros :)