HI Rohan,
As per my understanding there are only two way to Achieve this functionality.,first is use the outsystem pagination and second is to create your own pagination by writing some logic.
If you don't want to go with oustsystem one.Then you have to write some logic. and yes there will be some limitation to achieve this.
I have achieved the similar functionality in my project. While creating a search page, because of the huge record in the result set pagination was responding too slow.
Don't use the link button use expression with link.
Put maximum number of expression with link, i am sure pagenumber link will between 3 to 10 add two more next and previous, For example if you will click on the next button it should change the value of the expression which will increment by 1. use the site property to hide/show the link according to the page number (Total records/record per page).
In your case you can write a small extension on .net or java with two input parameter pagenumber or offset, select query and one output parameter of list type.
Thanks
Rajendra Singh