I see no reason why random numbers should 'have to be unitless by default'...
If I want to define a set of random lengths, I'd like to be able to define them directly (Valery's method) rather than through a clumsy method. I think the present present implementation should be corrected in that sense, considring that the units in the arguments are accepted.
So, if the user provides (consistent) units for the arguments of the runif function, the result should have (the proper) units.
And about consistent:

Why are cm and m incompatible?
Luc