1.)
http://codex.wordpress.org/Function_Reference/is_page ;)
Ich kann dir gerne ein kleines Beispiel geben, aber wie sinnvoll das für dich ist hängt stark davon ab um wie viele unterschiedliche Seiten und CSS Dateien es sich handelt. Denn die nahe liegende Lösung fängt ab einem gewissen Umfang an "unpraktisch" zu werden. Ebenfalls stellt sich die Frage, um wie viel CSS Code es sich jeweils handelt würde, denn ansonsten kannst du auch alles in der style.css belassen und über die body class gehen. So würde z.B. die Überschrift des Artikels mit der ID 254 eine rote h1 bekommen...
Einfaches Beispiel für eine mögliche Lösung unterschiedliche CSS Dateien, in Abhängigkeit ganz spezifischer Seiten/Artikel einzubinden:
<?php if (is_single(254)) { ?>
<link rel="stylesheet" href="<?php bloginfo( 'template_directory' ); ?>/artikel-mit-id-254.css" type="text/css" media="screen" />
<?php } elseif (is_page(16)) { ?>
<link rel="stylesheet" href="<?php bloginfo( 'template_directory' ); ?>/seite-mit-id-16.css" type="text/css" media="screen" />
<?php } ?>
Meld dich mal, ob dir das schon weiter hilft :)
2.) Sorry, kein Plan :(