Можете да използвате функцията ORDER BY и FIELD. Вижте http://lists.mysql.com/mysql/209784
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
Той използва Field() функция, която "Връща индекса (позицията) на str в списъка str1, str2, str3, .... Връща 0, ако str не е намерен" според документацията. Така че всъщност вие сортирате резултатния набор по върнатата стойност на тази функция, която е индексът на стойността на полето в дадения набор.