Ja. Es gibt Fallunterscheidungsfunktionen (IF() und CASE), mit denen du entweder eine berechnete Spalte in die Ergebnismenge bringen und nach der du sortieren lassen kannst. Du kannst das auch in der ORDER-BY-Klausel notieren.
Hilft mir das in diesem Kontext weiter - sprich kann ich nach 1,3,2,4 sortieren, ohne eine wirklich vorhandene Spalte in einer Tabelle zu haben?
Die Alternative die mir spontan eingefallen wäre ist schlichtweg Union zu verwenden und anstatt mit IN mit = zu arbeiten.
Die manuelle Auswahl und Reihung der Datensätze in meinem Fall übersteigt niemals 5 und wird im Regelfall 2 belaufen - die werden "relativ selten" abgefragt, dann gecacht und die fertigen Dokumente werden über ein CDN verteilt - Performance ist her also weniger das Problem.