I have found a semi-automatic solution for fixed-length image sequences that do not need to cycle.
In your Image Texture node in Shading, set type to Image Sequence, select your frames, check Cyclic checkbox. Add a driver for Offset setting (right-click on Offset -> Add Driver). Remove default variable binding and input the following script expression:
int((frame-1)/ FPI +1)-1-(frame-1)% COUNT
In the expression, replace FPI
with however many frames you want each image to last for, and replace COUNT
with the amount of images in your sequence.
For example, to display 6 images across 30 render frames (5 frames per image), use the following:
int((frame-1)/ 5 +1)-1-(frame-1)% 6
Tested with Blender 2.83. This solution breaks sequence cycling and requires that sequence length be input manually.
In case high performance or strict Python safety is required, the following equivalent expression may be used:
int((frame-1)/ FPI +1)-frame+int((frame-1)/ COUNT ) * COUNT