How to override defaults for merge statement

I am building an incremental model with merge incremental strategy. I want to do it with
a) Multiple when matched then update conditions default is just 1.
b) Checks for other columns inside when matched something like.
WHEN MATCHED and colA is not null and colB is null and colC=1