il manuale in corrispondenza di readdir dice:
Quindi con solo readdir non puoi....The filenames are returned in the order in which they are stored by the filesystem.
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