I think you could do it with a user setting called results_to_show. You could put a mini form on the page with the number of results to show, and when it's submitted, save the value to a User Setting.
Then use this in the pdoResources call:
&limit=`[[!++results_to_show]]`
The code to save the value would look something like this:
if (isset($_POST['results_to_show']) && isset($_POST['submitValue'])) {
$userId = $modx->user->get('id');
$key = 'results_to_show';
$value = $_POST['results_to_show'];
$setting = $modx->getObject('modUserSetting', array('user' => $userId, 'key' => $key));
if (! $setting) {
$setting = $modx->newObject('modUserSetting');
$setting->set('user', $userId);
$setting->set('key', 'results_to_show');
}
$setting->set('value', $value);
$setting->save();
}
return;
The value could also be stored in an extended field of the user profile, or in an unused user or profile field, but that would require using another snippet or tag to retrieve the value.