IIS7ではURLリライトモジュールが提供されていて、URLの書き換えが容易に行えるようになっています。
ただし書き換えを行った後でPostbackが起きると、書き換えられた後のURLになってしまいます。
このような不具合に対応する方法がまとめられています。
といっても、Page_LoadでActionを書き換える、という原始的な方法ですが。
まあ、そのような用途のために元のURLがServerVariablesに格納されている、ということが重要な情報ですね。

ASP.NET postbacks and URL rewriting