Keeping the idea about using a pattern to store values, you could just have other sets of values starting at a later index and instead of getting a random value in the whole pattern, get a value from the desired start index to that start index + the desired length.
A side effect of that is that you can use the same pattern data (1,1,1,1,1,1,1,1,2,2,2,2, 3 in your example) and get different results depending on your start and end points, basically.
So you would just need to do :
P RRAND [startindex] [endindex]
For your example : P RRAND 0 12
But you could decrease the probability of the “1” value by doing for example P RRAND 3 12
And if your other set of values starts at index 20 then do something like P RRAND 20 32
Disclaimer : I don’t have a Teletype yet so I can’t test that but I don’t see why it wouldn’t work. Just make sure the pattern length is valid.