I got on here looking for a solution to this problem and found none... this was the only thread that even looked promising.
So, it dawned on me that I could create a rule that would eliminate the songs I didn't want to hear again just now (Christmas ones that are no longer in season, obviously). And I didn't want to lessen the period of time it went back to get music.
Here's what I did:
1. Select the songs you want to remove from the list. "Reset plays" for those items.
2. In the "edit Smart Playlist" window for "Recently Played" create a new rule so that "Plays" "is greater than" "0" Make sure "Match ALL following rules" is checked if you've got more than one.
"Remove from a smart playlist" is kind of an awkward concept in iTunes. Just to be clear, what you really want is for the list to contain songs that have been added recently, but have not yet been played?
Assuming that, go to File > New Smart Playlist. Give it the rules "Date Added is in the last X days" (X is up to you) and "Plays is 0."
Set the Match field to All, and check Live Updating.
Please note that the iTunes count of Plays only updates when you play a song thru to the end. Hopefully that is consistent with your "preview."