Hi @SASPhile,
I've just created a keyboard macro (for the SAS Enhanced Editor) which seems to do what you want, but it's rather a risky workaround (with limitations) than a clean solution.
The major limitation is: Your code must not contain both curly braces {} and square brackets [].
Let's assume it doesn't contain curly braces (then it may contain square brackets).
I recorded a keyboard macro (Enhanced Editor: Tools --> Keyboard Macros --> Record New Macro) which replaces %do ("Match whole word only") with { and %end with } ("Replace All") and vice versa (so as to restore the original code). Then I stopped recording, edited the macro (Tools --> Keyboard Macros --> Macros... --> Edit...) to insert the command "Move cursor to matching brace/paren" in the middle between the replacement actions and assigned a shortcut key to the macro.
Now, when I place the cursor on the percent sign of a %do or %end keyword and press the shortcut key, the cursor jumps to the percent sign of the matching %end or %do, respectively (and back if I press the shortcut key again).
Obviously, I haven't tested this macro thoroughly yet and I wouldn't really recommend it.
Given that there is an Enhanced Editor command to find matching DO/END pairs in a data step, it's a pity that there is no similar feature for %DO/%END.