Hi Ian,
That sounds like a job for a custom 'route' method:
http://wagtail.readthedocs.org/en/latest/model_recipes.html#adding-endpoints-with-custom-route-methods
You would have a BlogIndex page that lives at the top level, and BlogPost pages directly underneath it (or somewhere entirely different - it doesn't matter in this case). Then, BlogIndex would have a custom 'route' method that looks at the path_components parameter (which would be something like ['2014', '06', '10', 'wagtail-is-nice']) and uses those in a query to fetch the appropriate page. It would then return a pointer to that page, as RouteResult(some_page).
You'd probably also want to override BlogPost's 'url' method, to return URLs in this format rather than the default one based on its location in the tree.
(Another thing to keep an eye on is this pull request <
https://github.com/torchbox/wagtail/pull/254>, which should hopefully be arriving in Wagtail in the near future - it will allow you to do these kinds of routing arrangements using Django's own urlconf mechanism.)
- Matt