Perhaps rather than considering articles a special type of thread, an article is instead a type of forum? (Much like how the Forum Guidelines here has an 'article'.)
You may want to have a tree-structure for forums, in that case. Otherwise you end up with the problem that we had on EzBoard with my Static Page: an ever-growing list of forums. :-)
Of course, that means that the current mechanism for marking forums read would continue to work on a per-article basis, but the storage will expand proportional to the number of articles/forums times the number of users. (You could take shortcuts if you allowed a forum's unread status to override sub-ordinate forums.) This doesn't get you to marking individual messages read, I know.
Wade.