Attribute data for cell faces of an Unstructured Grid

Is there a way to add attribute data to faces of an unstructured grid?

I’m trying to solve a problem where I want to add ids to each face of every cell in an unstructured grid and then get the polygonal surfaces from the grid and end up with a filtered set of ids that apply only to the faces on the outer surface of the grid. Doing this for nodes or cells is simple–I attach an identifier to each node and cell and then when the outer surface is extracted for the grid by the vtkGeometryFilter or vtkDataSetSurfaceFilter, I neatly end up with identifiers for nodes and cells that that are outer surface of the grid. I want the same functionality for cell faces.

Is there a filter or some other built-in mechanism through which I can achieve this?