I thank you for your concern about the number of HTTP requests made from the client and the payload returned. Too many people I know and work with do not notice these simple optimizations. However, at any time when I come across the same question that you have (which is actually quite common), I find that I usually either made a mistake or try to solve the problem incorrectly.
As for your JS question, I think Frank Schwieterman in the comments above is correct. I would look at ways to expose the dynamic parts of your JS through setters. In fact, the main example might be if you want to display a customized welcome message to users when they log in. In your JS file, you can open the setMessage (message) method. This method will then be called on the page, including the script. As a result, you will have something like:
<body onLoad="setMessage('Welcome' + <%= user.FirstName %>);">
This, obviously, can be expanded by passing objects or methods to a static JS file so that you can perform the necessary functions.
In response to the CSS question, I think you can get a lot from Sean Steward's approach from the comments, which gives a good rating. You can define specific static parts of your CSS in a base file, and then override the parts you want to change in other files. As a result, you can dictate the look of your site with which you include files. In addition, since you do not want to use hits for additional HTTP requests (keep in mind that if you install these files for caching for a week, a month, etc., this is a one-time request), you can do something like Combining CSS files into one file at compile time or at run time.
Something like the following links might help you point in the right direction:
http://geekswithblogs.net/rashid/archive/2007/07/25/Combine-Multiple-JavaScript-and-CSS-Files-and-Remove-Overheads.aspx
http://www.asp.net/learn/3.5-SP1/video-296.aspx?wwwaspnetrdirset=1
http://dimebrain.com/2008/04/resourceful-asp.html
Using a combination at runtime or compilation, you can get the best out of the world by allowing you to logically separate CSS and JS files, but also by reducing the payload and queries associated with compressing and combining files.