@NewTiddler1 I understand exactly what you are asking but unless you can guarantee the spacing and parameter names are exact, you will find constructing a search to get what you want is complex.
Normally the number of occurrences of a macro call or macro definition is small enough that searching for <<macroname
and name=macroname
will be sufficient.
However let us say you made a custom macro that you use everywhere (thus is large in number) and as you suggest the parameter passed to it is critical for its operation and you want to search for based on the macro and the parameter value.
You could set your own standard to help youself, such as every time you use the parameter in your macro calls, use the following forms uniqueparamname:"value"
or uniqueparamname="value"
(in a $macrocall widget). These can always be found then because you ensured this was the case. Using the full named parameter/value pair, means it will not matter in which order it exists in the macrocall.
In fact you do not even search for the macroname only the uniqueparamname / value pair.