"The widgetFile allows one to set the entity(entityProperty) for a constraint, but I need to somehow allow the widget user to be able to set the constraint for the referenced entity."
Make an entity property first, with 'isPath="yes" ,pathType="referenceSet"
'. Now use this entity property in the constraint and attribute properties (which no longer needs to be a referenced attribute).
You can take a look at the tag editor, which is a similar case