I think this needs more thought, I can imagine, for forms editing purposes, that it should be nice to do a tryCreate or tryUpdate, that actually goes through the permission queries, without persisting. This could be triggered in the onEdit event of a form field for example, and act almost like a validation system (actually, tryCreate/Update could call both permission queries and transform_argument event handlers).
For checking if you are allowed to create a new item, without actually creating the item, you are right that you can't run any permission queries that depend on the field values of the instance you're trying to create.
Maybe you can make a distinction between instance-dependant permission queries (result depends on field values of the instance itself) and non-instance-specific permission queries. The latter can be run before you know the actual instance.
This is something that needs some careful thought. I'll try to come up with a viable solution in my feature request, but there's a good chance I'll leave some open ends for you guys to figure out 🙂