Sorry for the late reply. It does sound doable, the question is if it could be done with plugins or if you need to change code. I think it currently creates a plain text version of the message, then just takes the first X characters of it. So if you found where that was done, you could first check the message for your bbcode and use that text if it exists.
In includes/functions_forumdisplay.php, in function process_thread_array(), there's this code:
HTML Code:
else if (isset($thread['preview']) AND $vbulletin->options['threadpreview'] > 0)
{
$thread['preview'] = strip_quotes($thread['preview']);
$thread['preview'] = htmlspecialchars_uni(fetch_censored_text(fetch_trimmed_title(
strip_bbcode($thread['preview'], false, true),
$vbulletin->options['threadpreview']
)));
}
which is I believe where the text is created that is used as the tooltip, so if you wanted to edit that file you could do it there. You might also be able to use a plugin on hook threadbit_process (which is called at the end of that function) and just recalculate $thread['preview'] (assuming all the info you need still exists at that point, I'm not sure).
Searching the code for threadpreview (the name of the option that specifies how many characters long the preview should be), I see it being used in a number of other places, so it's possible that you'd need to do it in more than one place.