Row-level security has an option of Free-form policy procedures which allows users to write their own predicates for row-level security. Input to this procedure is ALIAS which is decided at Run Time (based on the query fired).
This gives very limited control to the developer to write procedural logic in the free-form procedure. If, along with ALIAS, we get View Name as an input, we can write procedural logic based on the view name. For instance if I have View1 and View2 both having Col1 as column, and my policy is such that when user X queries View1 he should see rows that satisfy predicate View1 = 'a', but when the same user queries View2 he should see rows that satisfy predicate View1 in ('a','b').
In the current scenario I have to create two policies for this and apply them independently to the views.