Fortunately this post is not expired :D
It's a good question gt1974 (really brainstorming)
Caching is good but it creates a file on disk that can become big if you have a lot of URLs to keep or expire. If this file is removed (by you, an admin, system...), the logic will change and can be "dangerous" because the file will be recreated again (on open) and maybe filled or not (and this could be problematic). So I think that caching is not so good for this functionnality. But if you use caching, take a look at Cache::FastMmap it's really quick and easy to use.
Adding something to the url is not so good too because the user can change it and you have to manage it.
The real question is: how much URLs do you have to expire?
Why don't you just remove, rename or move the page by a job? A 404 error will be generated and could be managed by your web server. If you don't want that someone access your pages, remove it :D but maybe that you are talking about URLs to populate your pages (or db) with data (JSON...), in that case of course you can't remove them.
Peace