Bueno no se si lo he entendido bien lo que quieres es que de forma directa no se pueda acceder a ese archivo pero si mediante ajax. Si lo he entendido bien utiliza ajax detect request, ejemplo;
Código PHP:
Ver originalif(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { }
Añadelo al principio del .php para que verifique antes que nada.
Un saludo!