Il existe plusieurs façons d'accéder aux règles CSS d'une feuille de style par le DOM.

En supposant qu'on veuille accéder aux règles de la première feuille de style, qui est déclarée dans la deuxième balise du "head" (après un "title" par exemple), voici comment faire :

1) en passant par le "head"

var head = document.getElementsByTagName('head')[0];
var style1 = head.children[1];
//dans IE :
//var regles = style1.styleSheet.rules;
//dans les autres navigateurs :
//var regles = style1.sheet.cssRules;
var regles  = (style1.sheet)?style1.sheet.cssRules:style1.styleSheet.rules;

(on peut faire une boucle sur head.children[i] et tester que head.children[i].tagName == "STYLE" )

2) sans passer par le head :

var feuille1 = document.styleSheets[0];
//dans IE :
//var regles = feuille1.rules;
//dans les autres navigateurs :
//var regles = feuille1 .cssRules;
var regles = feuille1.cssRules || feuille1.rules;

La deuxième façon me semble plus simple car plus directe.

Ensuite, pour modifier une déclaration de la règle numéro x, (display = block par exemple) :

regles[x].style.display = 'block';

Pour trouver la bonne règle, on peut tester le sélecteur :

if (regles[x].selectorText == "div.maclasse") {
//... ;
}