Ich würde so etwas immer mit Klassen machen, die String und Anzahl enthalten.
Die packst Du in ein Array, das Du dann problemlos sortieren kannst.
Wenn Du unbedingt bei dem bisherigen Ansatz bleiben willst, erzeugst Du ein weiteres Array, in dem die Indices auf deine Stringlist und Array sortiert werden.
Der Zugriff geht dann per
Delphi-Quellcode:
stringList[sortArray[ii]]
bzw.
anzahlArray[sortArray[ii]]
Dabei ist ii eine passende Laufvariable.