Ok so imagine the pseduo code:
PHP Code:
if(preg_match(someregexptomatchtheurltoanfaq))
{
do some exploding and get other parts of query string
check to see the url entry actually exists somewhere on the site <-- query
}
etc...
I can't see a more efficient way of doing it other than having perhaps a cache of the FAQ entries, that'd be fine for that. But what happens with threads, you have 10 urls in a post, check in one of the caches you might be thinking? Ok, 10 urls to a calendar event, 10 queries?
The fact remains that when you are adding a thread there is going to be a lot of extra processing involved, and on large boards, it's not going to be worth it other than for the sake of a little extra SEO. Can you imagine how much extra server-processing would be involved on a site like OTC

?
I do think your ideas are good, as the more and more useful your link descriptions are, then the more search-engine friendly they are. So, as long as it's an option and highlighted that it may not be suitable for large boards, then it'll work ok (on small boards).