Программа как иерархия папок?
Боюсь даже спросить, а зачем? =)
В языках типа Java и так файлы разнесены по директориям. Права доступа можно задавать аннотациями в файлах. Можете к ним написать такую оболочку, но я сомневаюсь, что это имеет какой-то смысл.