1.Yes you can use tags.
2. No you do not have to create a seperate object.
I know this is a bit messy, however if you want to put this kind of logic in a template, I'm afraid this is the only way.
Alternatively, you can create different vlibTemplate objects for each template, and just display each one in the order you wish. This would probably make your templates easier to manage.
Regards,
Kelvin