Fammi capire: Hai diverse combinazioni di CSS che crei dinamicamente.
Ma sono un numero di combinazioni gestite dall'utente o da te?

Perchè se stabilisci tu un certo tipo di combinazioni, basta creare due,trer, cinque fogli di stile differenti, e dinamicamente inserisci nell'head il foglio interessato.
ri-ciao, scusa per il ritardo nella risposta, sono stato assente e de-internettizzato in questi giorni.

Dunque, provo a rispiegare la situazione.
Per una serie di (lunghi ) motivi, mi trovo una pagina tipo la seguente:

codice:
<html>
  <head>
  ...
  </head>
  <body>

   <div id=1>
        (caricamento dinamico con Ajax)
   </div>

   <div id=2>
        (caricamento dinamico con Ajax)
   </div>

  </body>
</html>
La mia web-application carica i DIV con delle chiamate ajax. Vorrei che i DIV avessero degli stili CSS personalizzati per cambiare colori, font, eccetera, così da creare un mosaico di quadratoni. La chiamata Ajax riempie correttamente il DIV, e quindi ottengo quanto segue:

codice:
<html>
  <head>
  ...
  </head>
  <body>

   <div id=1>
        <style>
            bla bla stile numero 1...
        </style>
         <div> pippo <span> pluto </span> </div>   <- contenuto del DIV 1
   </div>

   <div id=2>
        <style>
            bla bla stile numero 2...
        </style>
         <div> topolino <span> paperino </span> </div>   <- contenuto del DIV 2
   </div>

  </body>
</html>
Quale è il problema? Che questo <style> che viene iniettato di forza via Ajax, non è letto correttamente da Internet Explorer. Lo ignora e di conseguenza il mio DIV risulta senza stile.
Teoricamente so che lo <style> va messo nello <head>: mi chiedevo se ci fosse qualche maniera di "costringere" IE ad applicare uno <style> scritto nel bel mezzo del <body>.

Semplice, no?