Você pode usar as funções ORDER BY e FIELD. Veja http://lists.mysql.com/mysql/209784
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
Ele usa Field() função, que "Retorna o índice (posição) de str na lista str1, str2, str3, .... Retorna 0 se str não for encontrado" de acordo com a documentação. Então, na verdade, você classifica o conjunto de resultados pelo valor de retorno dessa função, que é o índice do valor do campo no conjunto fornecido.