In GeoServer, how can I serve two types of WFS from one server? Setting the type of the service is done once in global settings. Is it possible to have WFS from workspace A and WFS-T from workspace B?
You should be able to achieve this using a either Data/Layer or Service level security rules (they cannot be combined). See http://docs.geoserver.org/2.1.4/user/security/index.html for exact details, but something like this in layer permissions:
I haven't tried this out, so I'm afraid I can't tell whether GetCapabilities will pick the correct rules up, but I think this is what you're after.
In GeoServer 2.2.0 you should be able to configure the WFS in a different way for different workspaces, give it a try
A workaround could be, if you are using a database as datasource, publishing the table as WFS-T in workspace B, and publish an SQL view (select * from table) on the workspace A.