This will give you a random number of up to 12 digits with very few conflicts.
select -convert(bigint, convert(varbinary(max), newid())) % 1000000000000
You need to test and ignore conflicts, and also discard numbers that end in less than 6 digits.
EDIT
, . , , 95% 6- , , , , . , "" . , " ", , (order by len(num), newid()) , .
0-pad 12
select right('000000000000'
+right(-convert(bigint, convert(varbinary(max), newid())),12),12)