buenas,
inicialmente tenia duda de hacia donde exactamente te estás enfocando, si a reducir la repetición de código o si realmente querias unir las dos funciones. pues, en teoría puedes tener más de una función (correctamente handler) para una misma petición. también se puede reutilizar una instancia de XMLHttpRequest para hacer varias peticiones, pero te limitas a realizar una petición por vez. o sea, no puedes usar una misma instancia para hacer dos peticiones distintas al mismo tiempo. quizas lo que te convenga hacer es una función genérica para generar instancias XMLHttpRequest donde le pasas como parámetros la información necesaria para iniciar la instancia. algo asi:
Código:
function fn(type, url, handler){
var request = new XMLHttpRequest();
...
return request;
}
var req1 = fn('get', 'url', function(){ ... });
var req2 = fn('post', 'url', function(){ ... });