It sounds like you need to use lein-checkouts. Here is a detailed description. See also the documentation.
Basically, you make a directory named checkouts at the top level of your project directory (next to project.clj). Inside of checkouts, make symbolic links to the local top-level dirs for all dependency projects.
For example, I have a project car that depends on 2 other projects, engine and wheel. I structure the project like so:
> d car/checkouts/*
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 car/checkouts/engine -> /home/alan/engine
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 car/checkouts/wheel -> /home/alan/wheel
Update 1: Symbolic links (aka symlinks) are created in linux using the ln -s command:
> cd car
> ln -s /home/alan/wheel
> ls -ldF wheel
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 wheel -> /home/alan/wheel
Now, project car will see any local edits to files for both engine and wheel projects (as well as its own source files, of course).
Update 2
For jar file dependencies, you need to use :resource-paths in your project.clj file. Please see this question. and this example.