I thought about what others had done with the Pass Index and then threw it all out the window and tried with plain Random.
Cleaner version of Nodes further down.
I created it as Node Group so I could experiment. Here there are 5 different Image Texture nodes connected to Diffuse BSDF Shaders and each Shader is attached to a Mix Shader.
The Random value coming in has a value between 0.0 - 1.0. The framed logic picks out five ranges and uses them to determine the Image Texture shown (0.0 - 0.2 is explicit).
The Mix Shaders are controlled by Boolean logic. The Greater Than and Less Than Math Nodes output 1 for True and 0 for False. The Minimum Math Nodes act as And gate and only let 1 through when both inputs are 1.
Outside the Node Group I am simply pumping in the Object -> Random
And the Result.
It is a bit over the top and to extend it will require tweaking the values to match the number of images required.
Cleaner version of Nodes.
And an even cleaner way or structuring those Nodes, reducing unnecessary Nodes. Uses Colours, but an Shader can be used.
Small blog post I did on it.
random blender textures through the magic of logic gates