Если вы переместите его в свой собственный файл, на который ссылаются все страницы сайта, почему бы просто не проверить наличие элемента #agreement перед добавлением обработчика события click:
Event.observe( window, 'load', function() {
if($('#agreement') != null){
Event.observe( 'agreement', 'click', function() { alert("It works") });
}
});
Однако, если он будет использоваться только на одной странице вашего сайта, я бы оставил его как встроенный javascript, так как это на один запрос меньше, который браузер должен сделать для ресурса.
Но (всегда есть, но) вышеприведенное может привести к проектам, которые сложно поддерживать, поскольку в результате вы можете получить много встроенного JavaScript, разбросанного по разметке.