This is pretty easy to change.
Default values are set in file: core/engine/html.php
Look for:
class PaginationHtmlElement extends HtmlElement {
public function __construct($data) {
parent::__construct($data);
//default settings
$this->sts['total'] = 0;
$this->sts['page'] = 1;
$this->sts['limit'] = 20;
$this->sts['split'] = 5;
$this->sts['limits'] = array();
These default settings will be overridden with params passed into pagination class in the controller.
In calling controller, for example in category listing: storefront/controller/pages/product/category.php
$this->view->assign('pagination_bootstrap', $this->html->buildElement( array (
'type' => 'Pagination',
'name' => 'pagination',
'text'=> $this->language->get('text_pagination'),
'text_limit' => $this->language->get('text_per_page'),
'total' => $product_total,
'page' => $page,
'limit' => $limit,
'url' => $pagination_url,
'style' => 'pagination'))
Add new param with 'limits' => array(20, 40, 60, 80),
This will split your pages with 20 per page