On the past couple of MCMS projects I've worked on, we decided to bring the Page Properties into the page in authoring mode and turned off access to the "Page Properties" window for authors and editors.
This killed two birds with one stone:
1) It took a fewer steps for authors and editors to change properties like the StartDate, ExpiryDate, Important, and certain Custom Properties. No more needing to open a separate window and figure out which properties to change.
2) It allowed us to hide certain Page Properties from certain users, like Name, Display Name, and some Custom Properties. Since you cannot restrict rights down to the placeholder or property level (only the channel level), this allowed us to show some properties only to users in certain role groups (using another nifty method, BTW). Plus, we automatically set the Name and DisplayName of most of our postings, so this method removes the ability for the user to edit these properties as well.
We built separate User Controls for each feature, and then added the controls to each template. This works well, but does mean that we have quite a few different User Controls.
Stefan Goßner has come up with a solution which can bring some or all of the Page Properties into the page, and does not require much (or any) coding! Check out the article on his blog and download the sample code from GotDotNet.