Users should be able to link to a dashboard panel by mentioning its object monogram -- like `W123` in a comment (the "W" is mnemonic for "Widget", maybe).
You can look at `PhabricatorPasteRemarkupRule` for similar rules for Paste, which implement `P123` and `{P123}`.
The linked version should just be a link; the embedded version should embed the widget.
---
An unpleasant (or pleasant?) side effect of this is that it will become possible to create a recursive dashboard panel, by creating a text dashboard panel which embeds itself with `{Wxxx}` markup. We should probably disable the embedded version when rendering inside a widget context to prevent this, despite how amazing it would be. This is a bit complicated and I can send you a diff for it once we get there.
An alternative approach would be to allow you to embed widgets, but do cycle detection on the client. I'd like to have a use case for this first, though, since I think this will be "neat" but ugly and not really a practical solution to anything.