Наистина не виждам начин да го направя директно с помощта на ORDER BY FIELD.
Чудя се обаче дали бихте могли да направите JOIN срещу мета таблицата и след това ORDER BY FIND_IN_SET.
Това не е тествано, но се надяваме, че ще ви даде идеята:-
SELECT *
FROM `categories`
INNER JOIN meta ON metakey = 'category_order' AND FIND_IN_SET(categories.ID,metavalue)
WHERE `parent` = '0'
ORDER BY FIND_IN_SET(categories.ID,metavalue)
Възможно е FIND_IN_SET на JOIN да не е необходим