Instead of serving a 404 Not Found error with the 404.php template,
send a 403 Forbidden error and set $wp_query->is_403 and load
403.php if it exists.
With this simple plugin you can assign custom pages (with custom content etc.) as error pages. This works for 404 (page not found) and 403 (forbidden/permission denied).