What's the problem? Just put the breakpoint on that line, then check the intermediate values (e.g. with PyDev, you can select parts of the expression to check their results).
I do think it's a smell if the expressions has side effects, but that's a different issue.
In the toy function given, it doesn't really matter, but in general, I think that people should aim to code for clarity, not ease of debugging.
(defn debug-it
[x]
(println x)
x)
(-> input-value
debug-it
function1
debug-it
function2
debug-it
function3
debug-it)
Debug-it could also take a custom message at each line if you wanted the output tagged with names/numbers.