ASP.NET Custom Control – What is the best way to include embedded CSS reference only once?

The problem: I am embedding a CSS file into a custom control library with several controls. I want to share the same CSS file for all of the controls regardless of how many instances of them are on a given form. When more than one control is on the form, I would like exactly 1 reference to the CSS file in the HTML header of the ASP.NET page.

Change CSS Dynamically

I need to determine which CSS should be applied on some specific pages. I have a master page which has children and default.aspx and services.aspx are ones of the children of Master page. What I want to is when user navigates Default.aspx or Services.aspx,system should apply DefaultCSS file otherwise I want to apply some ordinary css file.

Using C# to dynamically generate CSS files

I have a site that gets deployed to over a dozen clients. The main website has a base template, and each client has a client folder that overrides the colours. The problem is that there are a lot of CSS files, so making a change that forces us to update every client takes a long time. The automated build process takes care of replacing the updated files.