OK, assume 300 users. The only posts that you would have to keep individual 'post' bits for would be those posts after the last 'mark forum read' (or the last block of completely read threads), no? So, the (post id length)*(number of users)*(number of posts since last 'mark read') That doesn't sound so bad!
Until you realize that you have to go clean out the old mark-read records all the time in order to realize that space reclamation...

Well, I'd 'mark as read' any post where the body was displayed (allow this to be disabled, of course! perhaps even disabled by default). One of the other things I don't like about ezBoard is the fact that you are mandated to seeing multiple messages at once. I'd kind of like to be able to read one message body at one time as a user option.
Yes, it can be solved (and that will be an option here soon, btw). Since we have a viable mark-read option right now, I'm just keeping it under advisement for now.