il manuale in corrispondenza di readdir dice:

The filenames are returned in the order in which they are stored by the filesystem.
Quindi con solo readdir non puoi....
però esiste la funzione filemtime che ti permette di ottenere la data di modifica (e quindi di creazione) di un dato file. Quindi all'interno del ciclo puoi ottenere questo valore.
Poi però sta a te scriverti una funzioncina che ordini gli elementi dell'array come tu vuoi.

ciao