TextContainerManager is a wrapper for the framework classes that does some optimzations for display only text and provides some cleaner apis that help with gumbo integration. It may be useful to you but is orthoganol to this problem.
I think the problem is twofold
1) tagging span's that are not editable.
2) preventing those span's from being edited.
Let's assume that you're just worried about changes coming from the EditManager. I'd think you want to allow changes being done with the model APIs.
1) can be solved by using a user style.For example span.setStyle("editable",false)
2) will require either creating your own subclass of EditManager with your own custom operations that never modify non-editable text OR listening for textFlow flowOperationBegin events and modifying the operations to obey rules that prevent modification of non-editable text. You'll have to understand each operation and check the span's involved. You could cancel the operation or modify it.
Hope that helps,
Richard
.