Sorry, as a former developer turned project and then people manager, your idea of a good manager is my idea of one that is barely adequate. If a manager is even half way competent, he already knows when the projects he is in charge of are expected to be completed, and where they are in the development cycle at any given time. He also knows how to say no if extra work is assigned and the team does not have the capacity to handle it. (OK, if it is being assigned by his boss, he will not actually say no, he will ask which other work needs to be delayed in order to do the new work, which will usually result in it being assigned to another team.)
In the case of unexpected unmovable deadlines--such as a trade show the company has suddenly decided to have a presence at, or a meeting with a really important potential client or investor--a good manager will try to shuffle priorities when possible in order to accommodate the request. This may mean transferring people from one project to another, or possibly accelerating work on the front end of a project in order to have a "working" demo, at the temporary expense of back end functionality. If he has a good team, they will accept the need for this even if it means working on something they have no interest in, or having to do more work in the long run. Of course, as a good manager, he will explain to them why the change is necessary and solicit opinions about how best to reach the new deadline.