SqlRestriction is what took the place of the deprecated @Where annotation. I think both that and @Filter have as a requirement that the expression uses columns of the entity/table where the annotation is placed.
Using the example of SqlRestrictions, we already parse the SQL fragment in org.hibernate.sql.Template#renderWhereStringTemplate, and then we insert the table alias in org.hibernate.persister.entity.AbstractEntityPersister#applyWhereRestrictions. This methods might be modified to handle multi-table restrictions. @Filters are handled a bit differently, but the same might be applied there.
@cigaly feel free to give it a try if you want, let me know if I can give you any more info.