warning: I settled with mercurial a year ago after quite a bit of research (switched from subversion).
.1. How important is DVCS not littering your working folder with files? (Alternately is single file repository a big plus to you?)
not littering: very useful. simple tasks are simple: grep -re expr *
was useless with svn.
single-file repository: probably quite fragile, so not a plus at all.
.2. How important is cherry-picking functionality (choosing arbitrary changes instead of lineage of changes)?
agonized over this one, turns out hg wants a different workflow, I no longer see cherry-picking as a a requirement, or even a (big) bonus.
.3. How important is the speed of DVCS?
a lot, of course, even though not as much as with centralized ones. what I'm talking about:
svn up
# hack hack hack
svn up
# resolve conflicts
svn ci
# oops, someone else has commited already!
svn up
# resolve the same conflicts again!
svn ci
# oops! ...
versus
hg pull -u
# hack hack hack
hg ci
hg pull -u
hg merge
# resolve conflicts
hg ci
hg push
# oops... well, there'll be zero conflicts this time
hg pull
hg merge
hg ci
hg push
.4. How important is the size of repository?
a lot. you'll have as many repositories as you'll have working copies.
.5. How important are GUI, IDE plugins, etc.?
depends on your preferences. I'm a command line junkie.
.6. How important is the blame tracking functionality?
how often do you need to know "when and why did this appear here?"
.7. Any other features you consider important?
efficiency of the network protocol(s) (pull/push speed over network)?