Use only short tags
No. Please god no! Relying on short open tags is a terrible idea. It only makes your code less portable. Short open tags aren't enabled by default on many many systems. And what if you want to share the code to someone who has them disabled? Besides nothing is gained from short open tags IMHO.
Use only the alternative syntax for control structures
I fail to see what you would gain from that. Besides not having a consistent code base.
Have only one statement in a tag each
That might also make things messy. When you have some "template" cluttered with open / close tags everywhere.
Why not just agree in the team to use a limited subset of PHP as a template engine?
That depends who are on that team. E.g. will only people use it who know PHP? Or do you also have people on that team who need to change the templates who don't know PHP. If it is the first I would just relax on the requirements (a.k.a rules), because when people hit a problem they can easily solve with all the power PHP provides and you are going to limit them into solving it you would either have people breaking the rules or get very messy code. However if you have people in the team who don't know PHP you might get away with that just like that.
Now to answer you question:
However I read often that omitting terminating semicolons is a bad practice. Why? Is it a bad practice at all?
When coding (no matter what language and no matter what project) you always have to reduce the number of wtf's per minute in your code. So it is bad practise because when somebody looks at that they may think at first: hey something is strange there! It's just that PHP people are used that there are semicolons to close statements. So again this may be dependent of the people in your team (but you asked fer personal experience). Besides this it is also very very annoying to switch between syntaxes when people are working both on the frontend (the templates) as the backend. And is prone to both errors and annoyance in the team.
And finally about the fact that PHP allows you to do something: PHP allows you to do all sorts of things. Just this fact doesn't mean you should use it. There was a meta post once on Stack Overflow which about Stack Overflow not being the perfect example of its own rules (or something like that :) ) which could also be used for PHP. There is all sorts of FUBAR stuff in PHP (yes I've said it), but that shouldn't mean you should say: but but but PHP allows it. Guess what PHP also allows you to run queries without input sanitation. PHP also allows you to write all code on one single line. PHP also allows you to make variable names like $S0mEvAriBLe
. All these things don't mean it is the best thing to do.
My 2 cents