Let's assume I have list with 100 items. Is it possible to write CAML query to get 5 items, but skip 10 items from the beggining? Something like LIMIT and OFFSET in SQL?
Unfortunately, SharePoint paging works a bit differently than LIMIT and OFFSET in SQL. To get paginated items you have to provide ID of the first item for the page you want and then set RowLimit, and if you have sorting defined for the list, you also have to provide sorting columns names and values of those columns for the first item on your page.
You can see how it works if you go to any list which has enough items and try to go through pages and see how the query string of the page changes. Then delete some items and try again. Then change order of items and try again...
All those params you will have to pass into ListItemCollectionPosition property of SPQuery object.
More about paging in SharePoint:
In your particular case, you can simplify things a bit, if you don't have filtering and sorting:
To quickly select top 11 IDs, use this query: