Dave, I'm talking about lists of hundreds or thousands of objects - about bulk pages. A single PL/SQL function is not expensive, a PL/SQL function with dynamic SQL in a from or where clause of a SQL statement is quite likely to be prohibitively expensive though.
Even if the resulting page shows only a couple of of objects, Oracle may trash through the name function for every single row during the result set creation - depending on what seems the smarter access path to the CBO.
Adding the field to acs_objects is simply the most inexpensive way of accessing frequently-used information.