sort, вроде, такое умел. Но он сортирует выходной файл. В принципе, 24ляма * 20 байт SHA1 - 480 Мб памяти под хэш каждой строки, так что можно смело на Питоне писать реализацию.
Можно. Пишете две программы: одну для PC, которая шлет запросы в плату и принимает ответы. И вторую - для платы, которая принимает команды с PC, обрабатывает их и шлет данные назад.
Простейший скриптец на питоне решит вашу задачу. Рекурсивный обход каталога, для каждого из встреченных каталогов - запуск архиватора в режиме, когда архивируются только файлы.