Carga el fichero en un stringlist, lo ordenas y lo manipulas a partir de ahí.
Si los campos no están ordenados, tendrías que cambiar el orden de los mismos para aprovecharte de las ventajas del stringlist.
pseudo código
Código Delphi
[-]function XX;
var Lineas: Tstrings;
begin
Lineas:= TString.Create;
Lineas.Loadfromfile('c:\fichero.txt'); -- cargas el fichero en el stringlist
Lineas.Sort; -- ordenas
-- hacer lo que quieras
end;
Prueba y sigue preguntando.
Otra posibilidad es que si tienes los datos separados por algún carácter, puedas utilizar las funciones de Neftalí manejando datos con origen en ficheros de texto.
http://neftali.clubdelphi.com/?p=437
Saludos