Это не полное решение, но может привести вас в правильном направлении:
В коде, отображающем мета-поле, вы можете использовать функцию get_post_meta, чтобы получить информацию о том, какой шаблон использует текущая страница. Примерно так:
if( get_post_meta($post_id, '_wp_page_template', true) != 'foo.php' ) return;
Недостатком является то, что пользователь должен сначала выбрать шаблон, а затем сохранить страницу один раз, чтобы перезагрузить страницу администратора с правильными настройками.
В противном случае, я думаю, что решение, которое вы описываете с использованием jQuery для скрытия мета-блоков, является лучшим способом сделать это.
Удачи