In search 5, we had very primitive support for query parameters in the form of FullTextQuery.setSpatialParameters(), which allows to set the center for distance projections.
We could think about a more general solution: allow to define predicates where the "value" to match is not a value, but a Parameter object, which would then be assigned a value when running the query.
This would allow to re-use the same query multiple times with different parameters. The question is: do we really need something like that? After all, you can always create multiple queries, and the impact on performance is likely negligible compared to the query execution time.