There's a few options with
CSS. For one, you could do everything with DIVS - and put the long content into a div that's set with "overflow: scroll"
http://www.w3schools.com/Css/pr_pos_overflow.asp
Another option would be to code your nav and other elements to remain fixed ("position: fixed") keeping at a specific place(s) on the screen. Then your long content would be placed in as usual, and the user would scroll as usual. The fixed elements would always be visible.
As for linking to parts of the text content, the only way I can think of to do this is to use in-page links - for example, you could add '<a name="[key]"></a>' in appropriate places in the text, then link to those spots with '<a href="[page]#[key]">link text</a>.