I don't know how people generally flag "application temporarily unavailable", perhaps there is some built in support in seam somewhere?
You could always have an application scoped bean with an "unavailable"-flag and then have navigation rules to a friendly information page. This flag would be updated on init exception (or manually through an admin interface) perhaps.
What does "gracefully cancel" involve? IIRC, throw an exception in the @Create, it will propagate up the stack and cause the deployment to fail.