Usando o Grails Versão 2.3.4 tive algumas dificuldades até conseguir 
configurar uma página personalizada de acesso negado. Logo descobri que 
existia uma configuração para que o mapeamento no UrlMappings surtisse 
efeito.
Adicione a seguinte linha no Config.groovy
Java Code
grails.plugin.springsecurity.adh.errorPage = null
E o mapeamento é normal (minhas páginas de erro estão na raiz, junto do index):
Java Code
        "/"(view:"/index")
        "500"(view:'/500')
        "404"(view:'/404')        
        "403"(view:'/403')                     
        "401"(view:'/403')      
Agora deve funcionar.