I'm very much enjoying Tidal, but there are somethings I just can't figure out
how to do.
I'd like to introduce moments on randomness blended in with an already existing
pattern.
Sort of like this-
d1 $ sound "bd sn bd sn" |+| speed "2.3, 5, 6, 7, rand, 0.7"
But this doesn't work.
How should I go about achieving this?

Ok, rephrasing. Is there a way to perhaps specify the range of values that
'rand' chooses between? As in a limited range? Say for example (range 6 > 8)
rand is still random, but can only choose between 6,7 or 8.

You can use arithmetic operators on patterns, or the scale function (they do
the same thing), for example:
for a continuous range of values from 6 to 8
(rand * 2 + 6) or (scale 6 8 rand)
for just 6,7,8
(irand * 3 + 6) or (choose [6,7,8])
if you want to blend this with your nonrandom pattern I think you'll need
something like stack
|+| speed (stack ["[2.3, 5, 6, 7, 0.7]", choose [6,7,8]])