You have not picked up the Lisp parenthesizing style yet. Do so. It helps. (You let the parens pile up and let your editor pair them for you.)
Your logic is nesting waaay too deep. Lisp, even more than Perl, is lots of little functions that call each other.
To help the structuring of your program, think of your entire program as being the building of a model in which your problem is easily solved. And of course when you build the model you approach it the same way.
Remember, most of Lisp is written in Lisp, and in any significant piece of Lisp code you expect to add customizations to the language for your needs. This again affects how much you need to nest it.