Is it possible to save an entire piece of rendered HTML in a transient?

Transients API documentation formulates suggested usage as:

long/expensive database queries or complex processed data

Your case seems like a perfect fit for this description. On technical side you will need to concatenate your output into variable and put into transient, instead of displaying it.