How can I minimize impact of expensive queries in Database A on Databases B, C, D
I would recommend taking a look at the resource governor...
In an environment where multiple distinct workloads are present on the same server, Resource Governor enables you to differentiate these workloads and allocate shared resources as they are requested, based on the limits that you specify. These resources are CPU, physical IO, and memory.
By using Resource Governor, you can:


Provide multitenancy and resource isolation on single instances of
SQL Server that serve multiple client workloads. That is, you can
divide the available resources on a server among the workloads and
minimize the problems that can occur when workloads compete for
resources.
Provide predictable performance and support SLAs for workload
tenants in a multi-workload and multi-user environment.
Isolate and limit runaway queries or throttle IO resources for
operations such as DBCC CHECKDB that can saturate the IO subsystem
and negatively impact other workloads.
Add fine-grained resource tracking for resource usage chargebacks
and provide predictable billing to the consumers of the server
resources.


https://msdn.microsoft.com/en-us/library/bb933866.aspx