In your web config, just set the mode to Windows Authentication for your application
<authentication mode="Windows" />
Now, decorate any controllers or actions that you want to force authentication against with the [Authorise] attribute.
e.g
[Authorise]
public MyController : Controller
{
}
Any use of User.Identity in your MVC views will now be showing the windows user name. For your second part, you could achieve this in 2 ways.
1) Create a new application pool in IIS. Edit the application pool (properties) and goto the Identity tab. Change it from 'Predefined' to 'Configurable' and select a windows profile to use. e.g MYDOMAIN\SqlAppUser. If you are using Integrated security in your connection string to the SQL database, it will now use the identity defined by the application pool when connecting. You just need to add this single account to the SQL server security settings & you are done.
2) You could alternatively remove Integrated Security from your connection string and just use 'standard' SQL security, define the account on SQL Server & away you go!