Multiple clauses under a notany are AND-ed (like multiple clauses everywhere else).
notany
clause_A
clause_B
means that there is "not any" proof for "clause_A and clause_B".
So the rule that you have should do what you want. (And, as stated, would combine baking soda with vinegar, just not the other way around).
Two things that you might consider with this example.
First, if the ingredients don't conceptually come in pairs you could use one list of single ingredients twice. Second, you could use a check clause with Python's != operator:
combine_ingredients
foreach
ingredient($A)
check $A != 'vinegar'
ingredient($B)
check $B != 'baking_soda'
assert
combine($A, $B)