As I said, performance can be an issue... I have a decent dedicated box hosting few websites thus I can afford to use this kind of "lazy" solutions... about FURLs, it should be doable but using multiple GetField calls to build URLs requires good naming conventions and a bit of logic to work.
I have recently done something of the kind to build a product catalog. I wanted dynamically generated "permalinks" to switch between different views of data for the same product.
It looks like this (sorry data is in french

) :
<h3 class="produit">[!GetField? &parent=`1` &parentLevel=`1` &field=`pagetitle`!]
<span class="liens_fiche"><a href="[(site_url)]produits/catalogue_des_produits/[!GetField? &parent=`1` &parentLevel=`2` &field=`alias`!]/[!GetField? &parent=`1` &parentLevel=`1` &field=`alias`!].html">Fiche Produit</a> | <a href="[~[*id*]~]" style="font-weight: bold; color: black;">Fiche Pratique</a> | <a href="[(site_url)]produits/catalogue_des_produits/[!GetField? &parent=`1` &parentLevel=`2` &field=`alias`!]/[!GetField? &parent=`1` &parentLevel=`1` &field=`alias`!]/fiche-technique.html">Fiche Technique</a></span></h3>
It changes each time for each of the 3 "permalinks".
As I said, it works only because I have a strict naming convention and also I have set up a model document for each product that the client duplicates (thus the sub-documents have the right alias). But it’s not for everyone...
I sure would like to find another alternative, but since it works I currently have no time to find a better way...
Anyone ?