Hi Adrian,
The only way to retrieve non-persistent entities would to use retrieve by association which doesn't let you set an offset or limit. Also, the only way to split the data into smaller lists would to iterate it and create a new list to add records too.
If your goal is to just add pagination to your list view, have you seen the list view controls widget? One of the features is pagination.