che io sappia non esiste niente di automatico che riempie una progress bar, quindi sfruttando settimeout e cleartimeout (che puoi vedere e provare qui ), potresti alterare la proprietà width di un immagine così da simulare una progressbar.

Se fai in modo che la progressbar si riempie in più tempo dei 2 minuti da te pronosticati, puoi, dare un cleartimeout una volta che la richiesta ha raggiunto lo stato 4 e quindi visualizzare direttamente la progressbar piena.

Ti consiglio inoltre di passare a jquery, con jquery ui visualizzare, simulare l'avanzamento e applicare un tema a una progressbar sono sciocchezze da poche righe di codice, idem per le richieste in ajax.

Per vedere come funziona la progressbar vai qui

Per ajax con jquery vai qui

Comunque sia a prescindere dal fatto che usi jquery o javascript liscio, resta inalterata la necessità di utilizzare settimeout e cleartimeout.

Buona fortuna.