Depende de qué tan sofisticado lo quieras. Lo más sencillo es crear un archivo temporal, traspasar los registros en el orden que desees, luego borrar el archivo original y renombrar el temporario para que sea el original. Pero esto tiene la desventaja que se hace cada vez más lento conforme el número de registros crece.
Algo más sofisticado pero más flexible, es llevar un archivo paralelo pero que solo guarde índices. En el archivo principal los registros los guardas como llegan, pero en el archivo de índices haces una lista enlazada en archivo. La ventaja es que no tienes que mover grandes volúmenes de datos, solo haces tres escrituras por cada registro nuevo y además puedes reordenar por el campo que quieras.