How can I allow a user to have the option of choosing the number of posts to display per page? I'd like to have it similar to how it's done on this site: 15, 30, 50 per page (see the bottom of the page to the right of the pagination).
One such hack is available check this out, http://wordpress.org/extend/plugins/boones-pagination/
You can use above plugin or the code class per Author of this plugin.
This is may not be the best solution, but it works. Following code needs to be added in functions.php.
To print the paging, (may require changes as per your scenario)