Looking at a "weblink" document in the database (site_content), the two main differences are the "type" field, which for a weblink is "reference", and the "content" field, which is nothing more than a URL. The parser makes a quick check for "reference" type documents:
if($this->documentObject['type']=="reference") {
$this->sendRedirect($this->documentObject['content']);
}
That’s all. So you could very easily use a plugin to make a dynamic weblink, by simply changing the $modx->documentObject[’content’] to whatever you want it to be.
Remember, one of our main goals is to make the core as clean and simple as possible. If a "feature" can be implemented with a module or a plugin, it shouldn’t really belong in the core. Far too many great ideas are totally destroyed by "feature creep".