As I’ve mentioned in earlier posts, expiration policy based on Content Type or location works to a limited extent, but customized expiration policies based on metadata properties is a far more useful solution.  This is particularly true when setting up event-based retention schedules. 

An alert reader sent me this link: 

http://msdn.microsoft.com/en-us/library/cc453773.aspx.

This is a terrific source of information on how to setup the code to configure SharePoint to base expiration on metadata.  Check it out.