You've obviously given this quite a bit of thought, given your work on the Pulsar library:
https://github.com/puniverse/pulsar
Your comment below this one focuses more on 'established practices' for large programs rather than 'is there a library that has this feature?'. I think that's just a reflection of both the state of functional programming and Clojure. They are growing and on there way to being commonly used in large systems, but not there yet (and so the practices don't exist).
For a completely different way of thinking about the problem of software composition that is more functional (although not for Newbies, not that you are) - there is lots of work going on with Monads in Clojure.
You can read about Monads in Clojure on Leonardo Borge's blog entry "Monads in Small Bites". This has some nice parallels by comparing Haskell and Clojure usage patterns.
http://www.leonardoborges.com/writings/2012/11/30/monads-in-...
Jim Duey has put lots of work into explaining Monads in Clojure in his talk at Clojure West. The way he builds up the venn diagram is a great visual explanation (some say the addition of arrows wasn't helpful).
https://github.com/strangeloop/2011-slides/blob/master/Duey-...
In addition the Fluokitten library in Clojure has lots of building blocks for Monads in Clojure. You can read about it on this blog entry "Functors, Applicatives and Monads in Pictures - in Clojure". The great thing about this is the focus on boxing.
http://fluokitten.uncomplicate.org/articles/functors_applica...
I also saw my first Free Monad in Clojure in the wild this year:
http://stackoverflow.com/questions/20171057/is-it-possible-t...