I can partially answer your second wish, you can scroll to some places :) with FrontEndTokens:
FrontEndTokenExecute[EvaluationNotebook[], "ScrollNotebookEnd"]
other that seems to be relevant:
{"ScrollLineDown", "ScrollLineUp", "ScrollNotebookEnd",
"ScrollNotebookStart", "ScrollPageBottom", "ScrollPageDown",
"ScrollPageFirst", "ScrollPageLast", "ScrollPageNext",
"ScrollPagePrevious", "ScrollPageTop", "ScrollPageUp"}