Тогда у тебя проблемы с архитектурой, наверное. Разбей файл 2 на две части. 1 часть останется на месте, а вторая пойдёт в конец списка и сможет вызывать код из файла 2 и файла 4.
Если это проект на пару тысяч файлов, то тем более порядок файлов важен, потому что в системе такой сложности очень легко запутаться и сделать циклическую зависимость логики и UI!