I don’t know if this will help or not, but it might get you started. If you create a text layer (named “text”) with this as the source text expression:
w = [];
n = 5;
for (i = 1; i <=5; i++){
seedRandom(i,true);
w.push((position.wiggle(1,1000)-position)[0]);
}
w.sort((a,b)=>a-b)
and then create 5 tall skinny solids (below the text layer in the layer stack, layers 2 – 6), each with this position expression:
x = thisComp.layer("text").text.sourceText.split(",")[index-2];
value + [x,0]
You should get horizontal random movement but the layers won’t cross. You can turn off the eyeball for the text layer (or move it outside the comp boundary).