Ich würde anders vorgehen.
wie mkinzler schon sagte: eigene Spalte für die Sortierung verwenden. Nicht den Primärindex. Index auf die Sortierspalte setzen
Naja, wie ich oben schon bemerkte, kann ich hier keine Gefahren durch das Ändern der PrimaryKeys entdecken.
Iiiirgendwann wirst Du Dein Projekt erweitern. Dann wirst Du an einer ganz anderen Stelle im Programm diesen Primärindex in einer anderen Tabelle als Fremdschlüssel speichern. Und du wirst nicht mehr dran denken, die Sortierroutinen anzupassen. Und der Kunde wird Dich durch das Telefon ziehen, weil die Daten "auf einmal" völlig durcheinander sind. Und dann wirst Du einen halben Tag drauf verwenden, rauszufinden, wie das sein kann. Bis Du irgendwann auf die Sortierroutine stößt und mit der Stirn auf die Schreibtischplatte aufschlägst...