il chmod è a livello di sistema, e lo script gira sempre con lo stesso utente (quello con cui gira l'apache)

Quindi se a un file dai il chmod in modo che nn lo legga apache non lo leggerai mai via web.

Non sono un grande esperto di htaccess, in genere vado a tentativi :-)

Prova questo

codice:
<Files *.jpg>
allow from 127.0.0.1
deny from all 
</Files>
Per i file php non so se crea casini negarne l'accesso, se funziona per le jpg, puoi provare se va anche per il php.