buenas...
segun como lo visualizo, podrias usar como minimo dos arrays y dos contadores. un array para los elementos (celdas) y otro array para las imagenes. la idea del array es que puedas desordenar los elementos aleatoriamente. el contador es para cada array con el proposito de determinar cuando volver a desordenar los arrays. basicamente, extraes una entrada de ambos arrays donde el elemento html seria el proximo a actualizar con la imagen extraida del array. en cada ciclo, debes alterar el contador y verificar si este ha llegado al limite. de haber llegado al limite, desordenas los arrays y de ser necesario (segun como haga la logistica) reinicias el contador.
para los intervalos, podrias hacer una funcion que devuelva un tiempo dentro de un rango al azar. por ejemplos, intervalos dentro del rango de 5 y 10 segundos. y por supuesto, necesitaras de una funcion Fade para la transicion. asumo que para este proposito utilizaras algun framework.