Я предполагаю, что вы имеете в виду, что index.html ссылается на файл .js через тег script, а затем js читает в xml с помощью XMLHttpRequest или чего-то подобного то есть: js и xml оба должны быть доступны для чтения браузером, но вы хотите ограничить это только «одобренным» способом.
Если это правильно, то вы не можете. Вы можете попробовать посмотреть на Реферера, но это ненадежно и легко подделывается. Даже без подмены, многие браузеры имеют инструменты отладки, которые позволяют легко увидеть результат каждого выполненного GET.
Лучше просто привыкнуть к тому факту, что все, что вы отправляете в браузер, потенциально может быть просмотрено пользователем, если он будет над этим работать достаточно.
Полагаю, для JavaScript вы могли бы использовать инструмент обфускатора, если вы чувствуете себя таким склонным. Для XML мало что можно сделать. Я полагаю, вы могли бы зашифровать его, но это было бы легко взломать, поскольку ваш js-код обязательно будет содержать процедуру дешифрования и ключ.