Můžete použít funkci ORDER BY a FIELD. Viz http://lists.mysql.com/mysql/209784
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
Používá Field() funkce, která "Vrátí index (pozici) str v seznamu str1, str2, str3, .... Vrátí 0, pokud str není nalezen" podle dokumentace. Takže vlastně třídíte sadu výsledků podle návratové hodnoty této funkce, která je indexem hodnoty pole v dané sadě.