Often it would be helpful when scrolling down a document with the arrow keys if the document scrolled before the cursor reached the end of the file. This way if you're looking for a line you don't have to scroll past it and then scroll back up. Vim has a feature like this called scrolloff. You can set the number of lines to keep before and after the cursor. Would something like this be difficult to implement?
You can open a feature request ticket for this. However, it is the Scintilla component which scrolls the document. Since it doesn't implement such feature, this will be a bit complex - detect each caret move, and if it moves down close enough from page bottom (and symmetrically upwards?) then scroll document accordingly.
Subclassing the Scintila controls would do the job. Perhaps we need to gather all those features requiring it; if they are in sufficient number, this could be a possible evolution for N++.