You should probably try come up with color coding first. The color coding engine doesn't yet have the ability to make a single regex with match groups where you can specify different color for different match groups. There are tricks you can play like defining {{# or }} to be symbol color. Then define a regex which matches the id portion (like "person") with look behind to match {{# before the id and colors that a different color. Remember, SlickEdit supports variable length look behind (Perl doesn't). This all depends on how you want things to be colored.
As for begin/end matching, you'll definitely have to write a macro for that. You'll need to write a _<LangId>__find_matching_word (ex. _html_find_matching_word).
Not sure if there is anything else you would want.