I think the answer to this question is: it depends on the service. For example, with recent versions of JBoss Messaging all of the nodes in a cluster should be able to share a single database (though I believe it would also work if each had its own database). But with other services, such as the uuid generator, I think each needs it own database.
(Replace "database" with "schema" in the above for Oracle. It has been too long since I have consistently used Oracle and am no longer thinking in Oracle terms.)
The one that I am most concerned with is the container managed persistence. We don't use JMS yet, but we are embarking on some EJB3 stuff and I want to make sure that when we cluster our servers I have everything covered.
For EJBs, there should not be a problem. Having EJBs from multiple app servers hitting the same data in the database is no different than have several standalone applications each accessing the same database data, that is what database were built for.