For example, if I have a
<div> with style:
position: absolute; width: 100px; height: 100px; left: -10000px; top: -10000px;
When a repaint of the viewport happen, there is some time loss due to the div's presence in DOM?
visibility: visible and display: block
Simple answer - yes.
Even though you can't see it, it still has to be rendered into the DOM as you say.
People do this a lot then do some fancy animation to bring it into view. The thing to ask is is there a difference between rendering the whole DOM in one hit or would you save time by rendering each bit, when requested with AJAX ?
It depends on the complexitity of the content in your 'hidden' section(s)...
Edit: Try using Fiddler : <a href="http://www.telerik.com/fiddler" rel="nofollow">http://www.telerik.com/fiddler</a> : this will allow you to see what is taking time to load on your pages...