WFS-T does not support such conditional transactions. Filters are used for selecting features which are fetched by GetFeature and they have the same effect as using WHERE in the SELECT statement in SQL. For reaching what you want you must do some additional operation either on the client of PostGIS side, or both. Here are some suggestions:
On the client side you could create a reference layer by reading the existing situation from WFS by making a GetFeature request with BBOX that covers the area of the new features. Before creating the Insert transaction you should analyze if new features intersect with features on the reference layer. However, with concurrent users that would not be totally reliable because someone may have inserted new features after the reference layer was created from WFS.
On the PostGIS side you can create a trigger that prevents inserts into the table if it would create intersection. For WFS-T this would mean that if your client is sending an Insert request with intersecting geometry the WFS server would try to save it into PostGIS. However, because of the trigger PostGIS will deny the insert and WFS server will send a message like
<wfs:Message>Insert Action Failed</wfs:Message> back to client.
I would recommend to combine both two: the client side spatial analysis would find most intersections and inform user immediately so they could make edits and correct the input, and the trigger on the database would eliminate all remaining bad features.