If I understood correctly your problem, all you need is to partition dynamically according to your sorted
list element count:
user> (def v (range 50))
#'user/v
user> (clojure.pprint/pprint (partition-all (/ (count v) 10) v))
((0 1 2 3 4)
(5 6 7 8 9)
(10 11 12 13 14)
(15 16 17 18 19)
(20 21 22 23 24)
(25 26 27 28 29)
(30 31 32 33 34)
(35 36 37 38 39)
(40 41 42 43 44)
(45 46 47 48 49))
Of course if total elements is not divisible by 10, your result will have have more than 10 groups, unless you have a different strategy to distribute elements among groups.