I also don't think it's a good idea to design the site for a scenario that won't happen. It WILL reach thousands of users one day if we do things that help it grow. But if we make design decisions based on what would happen if five thousand people were active RIGHT NOW, and what the current infrastructure could support, we would be cutting out almost everything. The site would crash under five thousand people. Chat wouldn't work. Design decisions should be practical and made assuming we'll have long term steady and eventually exponential growth that will one day taper off and become logarithmic, because that's actually realistic.
Chat here was not designed willy-nilly. It is basically forums that update live. This system can handle considerably more than F-chat without issue since it doesn't have things which are specifically designed to not scale, like statuses, and, even if chat totally crashes... the site is still fine. You could still post, you could still refresh. Things would still work. I did not design these things like an idiot, and I don't really think you'll get far in the conversation insisting that I don't know w hat I'm doing and this site won't scale.
Since the main issue is scaling, how about a conditional system. The Chat Archive holds messages for a minimum of two days, but only the last 5000 posts.
So each day, it would check and see if there are 5000 or more posts and 3 or more days of content. If so, it would then remove a day off the archive, then check again. It would repeat this process until either there were only 2 days in the archive or 5000 posts.
I don't have any issues with your original suggestion here, Griz, or at least, not many. A day or two to copy things out to a more permanent place is a good addition, and if it's kept on another page, the server can appropriately dish it out when it is not needed, and not constantly request it whenever someone loads up chat. The issues I have start to occur when we say weeks, "in case I go on vacation" or something like that.