readystatechange はイベントなのだから addEventListener を使って登録できると思うんですが、大抵のAjaxサンプルでは onreadystatechange に代入する方法をとってると思います。

なにか避ける理由でもあるんでしょうか。ちょっと長いから?

var xhr = new XMLHttpRequest();
xhr.open("GET", "/path/to/file", true);
xhr.onreadystatechange = function(){
  if( this.readyState === 4 && this.status === 200 ){
    console.log(xhr.responseText);
  }
};
xhr.addEventListener('readystatechange', function(){
  if( this.readyState === 4 && this.status === 200 ){
    console.log(xhr.responseText);
  }
});
xhr.send("");