You can definitely use it for updates only (so no inserts). However, like that you will never see new products in your target table, hence the inserts. (a new dimension id being created in the dim table which needs to be created in the other table).
If that is ok for you, then you can use update only.
About your second question: I am quite not sure what you mean, but the merge only needs a few things:
source data (called 'updates' in your example), target data ('current') and a merge condition.
updates is a dataframe which can be a table.
Or perhaps you want to use CDC on the source table to determine what has to be changed in the target table?
That is certainly possible if the source table is a delta lake table and has change data feed enabled.