There is no way to access the Response buffer contents in ASP.
When code generating a HTML content string gets ugly I tend to resort to using an MSXML dom document as a place to create the content. Then return the .XML property of the DOM, not effecient but when done properly much more readable.
Alternatively if you know that the only thing that will be done with the string once returned is to write it to the response then you can just do that directly in the function (or a Sub if you are using VBScript).
Its worth noting that you do this sort of thing in a Sub procedure in ASP:-
Sub WriteRow(first, second)
%>
<tr>
<td><%=Server.HTMLEncode(first)%></td>
<td><%=Server.HTMLEncode(second)%></td>
</tr>
<%
End Sub
Now you can call WriteRow in a loop. If you have a lot of boilerplate HTML with just a little dynamic content then this may be an option.