二通りやり方があって、一つは.htaccessでURLの#以降もCakePHPに制御させない方法と、javascriptで対応する方法。
今回はjavascript(jQuery)で対応してみました。

javascriptで実現する方法
遷移先のVIEWに下記を記述するだけです。
<script type="text/javascript">
$(document).ready(function () {
if (location.hash) {
y = $("*[name="+location.hash.slice(1)+"]").offset().top;
scrollTo(0,y);
}
})
</script>
location.hashで#xxパラメーターを取得して、それを使ってname属性でフィルターしたオブジェクトのoffsetを取得します。
あとは、そこまでスクロースする処理を行えば疑似的に内部リンクが有効になります。
.htaccessで実現する方法
.htaccessに下記を記述すると実現できるようです。(未検証)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(#*.*)$ index.php?url=$1$2 [QSA,L]
</IfModule>
