Tag Info

There's no official way to stop GReader marking old items as read:
We only calculate unread counts for items less than 30 days old, or
the last 10,000 items, whichever comes first. ... [The items] will still be there, but we won't show them as unread. This is standard behavior in Reader - if you want to
save items for a longer period of time, we ...

I do something similar with some of my pipes.
If you want a single feed as your output:
Use the Fetch Feed component from the Sources category to retrieve the feeds. A single instance of it can retrieve more than one feed.
If you need more than one source (eg. if you want to use other pipes as sources via the "My Pipes" category), use the Union component ...

You can achieve it via Yahoo Pipes.
Make two Fetch Data Modules. One with friend=0 and one with friend=1 Let 'channel.item' be your path
Create a Union between these two.
Apply the Unique module and filter
by item.title
Slap in a Filter that filters for
repeats using item.y:repeatcount then hook it to the Pipe Output

Just as Google says, give a tag like 'unread' to all items you are going to read later, and press gt to select the 'unread' tag, done.
Once read, change the tag from 'unread' to 'read' to keep a record of what you have read.

You can follow the Signpost by watching the page Wikipedia:Wikipedia Signpost/Issue. It's updated whenever a new issue of the Signpost is published. And that also means you can use the Atom feed for the history of that page:
http://en.wikipedia.org/w/index.php?title=Wikipedia:Wikipedia_Signpost/Issue&feed=atom&action=history
(Alternatively use ...

The sequence is as follows:
Fetch CSV (actually, in my case I found it easier to have "|" as separators) hosted on an external site
Columns separated by "|"
Use the following column names: "feed", "link"
(optional) Filter (to get only items that are needed in this particular set of circumstances.
Loop
For each item in input feed
Fetch Feed
item.link
...

My solution for a similar problem was to use the "String Builder" module to construct a YQL (Yahoo Query Language) query like this:
select * from html where url="BUILDER PUTS THE URL HERE" and xpath='Replace this with an XPath expression for the content you want'
...and then use the "YQL" module to execute it, producing an HTML document fragment suitable ...

Ok, webapp solution as previous answer was browser plugin solution.
Hootsuite!
Full customizable feeds setup for how you want to consume them, you can even create RSS feeds about of them.
There are both free and paid plans.
http://hootsuite.com/plans

So there is not native support for this request but it can be achieved with the help of some plugins and since you were already talking about Yahoo Pipes I am sure this will not be overly intimidating.
The plugin is called TweetFilter and is a "Twitter Filter for Firefox, Chrome, Opera and IE 8+"
One of the called out features is
Option filter ...

Yahoo pipes are not the recommended way to go forward. Yahoo itself has replaced it with YQL and that's where all the innovation is. Look specifically at community tables and at Execute statements, it might be relevant.