How to use Drupal for managing a public website together with an intranet and an MSSQL database?
Drupal can most of this very well. 

Someone with more experience can address how it can be set up for Intranet and Internet. It can handle multiple sites linked with data from same database (Not sure if this is what you want).

User permissions can be defined effectively down to the smallest content level so restricting access based upon any user categories you choose is not a problem.

Drupal works from a database (MySQL), apache, and php.  Transferring data will not be a problem for an experienced DB manager.

Images are stored as separate files on the site with references in the DB.  Images can be handled in a variety of ways on any page display including direct insertion.

Page layouts can be handled either through layout themes that handle HTML and CSS management and are fully customizable.

Drupal is exceptionally flexible and can do just about anything you can imagine.  There are hundreds of modules to choose from (all free and open source).

Having said all that, doing sophisticated site features is not for beginners and there is a steep learning curve for new site developers.  Getting a sophisticated site up and running requires an experienced Drupal developer.  Some of them are on this site and you can find others at Drupal.org.