Pon la información en una lista doblemente enlazada, asigna un numero de orden consecutivo a cada nodo y luego presenta en pantalla tantos nodos como espacio tengas en la misma, para hacer el scroll solo tienes que calcular desde que nodo hasta que nodo se deben mostrar en forma consecutiva. Supongamos que tienes 20 espacios en pantalla y estas mostrando desde el nodo 1 al 20, un scroll de a una linea seria mostrar del 2 al 21, 3 al 22 y asi sucesivamente, un scroll hacia atras solo resta uno al numero de orden del primer nodo mostrado. De esta forma tienes dos casos especiales que son cuando la cantidad de nodos a mostrar no alcanzan a llenar la pantalla (debes borrar la parte inferior de la pantalla) y cuando el listado está al principio que no intentes mostrar el nodo 0 (el cual en teoría no existe).