I think I'm being thick, but just in case I'm only slightly so...
In Scheduler, you can set the duration for a playlist to Play.
With a Smartlist, you can select from one or more playlists, but have the smartlist ensure no more than 2 hours duration.
Does this meet your needs?