si, si puo fare.
a grandi linee:
Organizza il lavoro in modo da far partire i thread sequenzialmente a blocchi di tot email.
Crea una classe di stato, che conservi i dati riguardanti il numero di email inviate, rimanenti ecc.; da salvare in Application o Session o in una qualsiasi altra location atta allo scopo (il db è un buon candidato se vuoi permettere di riprendere il lavoro il giorno dopo).
Crea un servizio (un generic handler è piu che sufficiente) che legga questo oggetto e restituisca il risultato in xml, testo ecc..
Nella pagina aspx attraverso javascript a intervalli regolari chiama il servizio, aggiorna la pagina con i dati restituiti e metti a disposizione un pulsante di stop il quale andrà a scrivere un flag nella classe di stato che indicherà al sistema di invio mail di fermarsi al prossimo blocco e salvare tutto nel db in modo da poter essere ripreso successivamente.
alla ripartenza prima di ripartire da zero carica la classe di stato dal db.