The problem with the second option of always displaying X number of posts, is now you would have to do 2 queries if there are none displayed. First, you would need to do the normal query, then if none are displayed you would need to alter the query to grab more posts. This would defeat the purpose of this option in the first place[]/w3timages/icons/wink.gif[/].
The first one, having an option for each board would be possible but that would probably end up needing to be in another table, because there would need to be an entry for each user, per board. Which again means there would need to be another query to grab your preferences for that particular board since it couldn't be grabbed during the authenticate query.
It shouldn't be this hard. Basically, if you don't get much traffic on some of your boards you can set the default to show for the past year or something like that. This way, new users will always see some posts.