That's a Bad Idea, even if you could.
Your code would be much clearer to read, maintain and extend in the future if you did:
{$video_id|video_embed:$video_type:123:123}
and then in PHP check for $video_type and pass it on to the appropriate modifier, rather than trying to handle it at the template level.
function video_embed($video_id, $video_type, $x, $y){
switch($video_type){
case('youtube'):
youtube_embed($video_id, $x, $y);
break;
case('vimeo'):
vimeo_embed($video_id, $x, $y);
break;
default:
throw new UnsupportVideoTypeException($video_type);
}
}
When you inevitably need to support a new video type you will only have to add some code in the video_embed function in PHP, rather than editing every template that displays a video.
For the record, no it doesn't appear possible. Looking at the source code for Smarty it doesn't try to evaluate variables when it's expecting a modifier.