I do not like the idea of subteams and teamleaders, for it requires something that is usally completely absent in public server games: Common sense. If people do not listen to you if you say, "help repair", or "kill that sniper" or "stop spamming" or "cover me" or or or, they won't care about that group-thing either. In my opinion, it also would things make unneccesarily complicated, and I also strongly subject to that "leader"-thing, because even admins abuse their powers on a regular basis, as I experienced.
IF you want to create any kind of hierarchy, I suggest a server-sided mechanism that gives somebody (low) admin-rights if he has played for a while on the server, let's say, is somebody played 100 hours on a server over the course of at least three months or something, this guy is supposed to know what he is doing, so give him the opportunity to designate/denybuild builders, and a mechanism to force people out of the base would also be a good idea, one could "assign" a kind of "irridation", that makes a player lose health if he stays in base or does not group up with others altough being told to do so.
Would I would highly appreciate would be a few more gestures but rather a command that would be called /say_nearby that can only be heard by people around you, and would not trouble people far away. This would be very useful.