Dynamic, Overridable URLs with custom templates

Is there a way to dynamically pages for products stored as data objects, but then allow for that page to be overridden with a custom template via the creation of a document at the expected URL?

For example, you have two varieties of apples, green and red. You’ve tagged your apple data objects a “green” or “red”, and all the pages for these apples will all be the same, just showing a picture of the apple.

Q1. How do I get automatically generated pages at say: /green/granny-smith /red/fuji

Q2. If I want to customise the Fuji page’s content for whatever reason, I’d expect I could create a document @ /green/granny-smith, and the app will use the new document instead of the product.