This is a summary of ideas from this forum topic, http://forum.civicrm.org/index.php?topic=15983 , and discussion should continue here.
I'm working on a CiviCRM/Drupal installation for an organization that puts on workshops and houses and feeds people for the duration of the workshops. CiviCRM's built-in way of handling price sets as flat lists of options and prices, doesn't quite do what we want.