- Create a playlist for a kind of music you want to listen to. You can use one of the built-in smart playlists like "Highest Rated" or build your own (for example, I have a "Quiet" playlist of songs I like to go to sleep to)
- Now create a new smart playlist and give it the rule: "Playlist", "is", and the playlist from above.
- Select the checkbox next to "Limit to" enter "50" or "100" for the count and for "selected by" use "Least recently played".
- Now when syncing your phone, go to the "Music" tab under the iPhone's entry in iTunes. Select the option to only place selected playlists on the phone, and select your new smart playlist.
Now when you sync your phone, that playlist will get the 50 or 100 least recently played entries from the original playlist. Every time you play a song on your phone, it will update the time and it will be removed the next time you sync, to be replaced by another song you haven't heard in a while.
To take this a step further I have a playlist that I put anything I download from Jamendo, Amazon or any other free music source into. These are thousands of songs. The playlist is a "for review" list. I then have a smart playlist as above, but I've added a second selector: rating is less than 1 star. That means that my new smart playlist will hide any entry that I give a rating to. My other playlists are based on rating, so as I rate songs, they appear in those playlists (I have one playlist for 4-5 stars and another for 3+ for more variety).