1. Валидатор кода php на php состоит из одной строчки - error_reporting(E_ALL | E_STRICT), лучше пока не придумано.
2. Лочить файл на запись нужно только на уровне системного софта с достаточными правами, и соответственно, с ограниченными правами исполнения, а никак не "обнаружить в файле строки кода, которые изменяют такой-то файл". Даже если профильтровать все функции записи/удаления файла в коде, могу на вскидку предложить два варианта обхода:
а) распаковка подгружаемого архива с заменой "неприкасаемого" файла.
б) исполнение любого обратимо-зашифрованного куска кода с ключом (ничем не отфильтровать).