You might like to have a look at this macro and the ideas that developed from it in the discussion below.
Essentially it allows you to paste from the clipboard by using the key sequence vvX
X is a variable or ‘switch’ which governs what will be pasted. So for example, the sequence vvp pastes the clipboard in uppercase, while vvl will paste in lowercase. You will see that subsequent adaptations allowed for vv*, which could work for you?
Checking to see if the clipboard changed is exactly what the CLIPBOARDSEED() function is for. I even have a set of actions stored in my KMFAM to make it easier to write macros that take advantage of it: