'define' - Scheme, Shen, others; 'defn' - Clojure; 'fn'; 'lambda' - are all just syntax to get used to in any language you learn.
The online documentation, rosettacode.org examples, or the two reference books for PicoLisp should help get you started.
I would say they are much more shorthanded than 'define' for define.
Then again, I program in J too, so I am used to one character or two character tokens.
I never heard that one. I mean you can just use shorter names. After all, you define the functions, or at least most of them, and the built-in ones are not unusually long.
The Scheme programs are usually much shorter than most of their counterparts on rosettacode.org.
I program in J, and that is even shorter!
For me, the slight against Java is the length of the class names themselves (e.g. TransactionAwarePersistenceManagerFactoryProxy), and all of the curly braces mixed with all sorts of other line noise ;
Some of the are pretty long, but the worst of them (call-with-current-continuation most famously) usually have abbreviations (call/cc).
Java's evil isn't just it's long class names: It's also the language's general verbosity: in some cases, I'd say it approaches COBOL levels of verbose. The other evil is the import paths: Python got this one right. You don't want org.companyname.lang.java.org.net.project.net.classes.AbstractClassFactoryFactory.
That import path isn't as much of an exageration as you'd think: if Java had been invented a little earlier, it would have been banned from most computers as a criminal waste of inodes.