I'm not sure if I exactly known what you are trying to achieve but here are some details which might be helpful.
The BoostingService has two important methods:
IQueryable<ContentPage> BoostQuery(IList<Item> boostingItems, string searchQuery, Item contextItem, IQueryable<ContentPage> queryable)
IQueryable<ContentPage> BoostQuery(Field ...
Not all of them are static. Take a look at the whole list of supported boosting rules, in the end, you will find some SXA rules:
They are not dynamic as they are e.g.: comparing the field to the page field.
The other thing is that you can write your own rule is none of the existing suits your requirements. Check how SXA rules are written. There is an SXA ...