AFAIK gibt es nur
$template->assign_vars(array())
für einfache Variablen und
$template->assign_block_vars('blockname', array())
für blöcke/blockvariablen.
So wie du es dir vorstellst wird es also nicht laufen. Allerdings kannst du es auf nem Umweg machen, nämlich indem du dir anschaust, wie bspw. die Votings aufgebaut sind: Da sind die relevanten Teile nämlich in andere Dateien ausgelagert.
Der Schlüssel ist
$template->set_filenames(array(
'sidebarxy' => 'sidebar_body.tpl')
);
Dann wie gehabt
$template->assign_vars(array())
$template->assign_block_vars('blockname', array())
aber dann wieder neu:
$template->assign_var_from_handle('SIDEBAR_DISPLAY', 'sidebarxy');
und ein einfaches
{SIDEBAR_DISPLAY}
in deinem eigentlichen .tpl file. Den Rest, also das was an der Stelle erscheinen soll steckst du dann in die oben bezeichnete sidebar_body.tpl
Du würdest es also anstelle des grossen umfassenden Blocks benutzen bei deinem Problem.
Sorry wenn das etwas konfus klingt, aber ist halt schon sehr spät...

Schau dir wie gesagt mal die Realisierung der Polls/Umfragen an, dann wirds klar.