How can you mark every item in Safari's reading list as "read"?
The XML tag that determines whether the article has been read is DateLastViewed.

I think the simplest, most user friendly way to do it (for most people, anyway) is with TextEdit find-and-replace.

First, though, you're going to have to convert the plist file from binary to XML with this command (Enter it at the prompt in /Applications/Utilities/Terminal.app): plutil -convert xml1 'Library/Safari/Bookmarks.plist'; open 'Library/Safari/Bookmarks.plist' -a TextEdit Don't worry if it gives you an error; that just means it has already been converted.
The command will also open up the newly converted file in TextEdit.

Find-and-replace 

&lt;key&gt;DateAdded&lt;/key&gt;
 with 
&lt;key&gt;DateLastFetched&lt;/key&gt;&lt;date&gt;2012-10-13T12:15:04Z&lt;/date&gt;&lt;key&gt;DateLastViewed&lt;/key&gt;&lt;date&gt;2012-10-13T12:15:04Z&lt;/date&gt;&lt;key&gt;DateAdded&lt;/key&gt;

What this does is puts the DateLastViewed (and DateLastFetched, just to be safe) before every time it finds a DateAdded. I don't know if it actually uses the dates for anything, but you can change them if you want.