var myObj = {
	doAction: function(){
		this.makeHTMLRequest(query, doSmth);
	},
	makeXMLRequest: function(query, callback){
		var   that = this,
			callee = arguments.callee;
		$.ajax({ 
			success: function(){
				//override original method "makeXMLRequest"
				callee = function(query, callback){		//не работает, а с "that.makeXMLRequest" работает
					callback();
				};
			}
		});
	}
}
Почему нельзя переписать метод "makeXMLRequest" через "callee", а через "that.makeXMLRequest" - можно?
А вообще задача - не вызывать каждый раз асинхронный запрос, а получить один раз данные, а при следующем вызове брать уже полученные и подставлять их.