You could put all those "clickable" objects in a family, and have something like
On click on Clickable
OR
On touch on Clickable
Then call Function("Click",Clickable.UID).
Now, every time you have an event that was triggered by an "onclick" on an object X, replace it by :
On function "click"
X->Pick by UID (Function.Param(0))
(Other conditions, like If enabled collisions, ...)
You will this way have the "OR" you needed, but you will keep a "AND" context everywhere you need.
EDIT : I might be mistaking, but I think a "on touch" triggers a "on left click" also, meaning you would just have to change all the on click with on touch. To be verified though