Ich verwende zwar inzwischen für neue Seiten nur mehr PHP mit Templates statt den ganzen Framegschichten, finde aber, dass für nicht-dynamische Seiten Frames genauso ausreichen.
Auf jeden Fall würde ich mit CSS arbeiten, alleine wegen der globalen Stiles.
Zu deinen Fragen:
verschiedene Auflösungen kannst du so behandeln, dass du Framegrößen statt mit fixen Werten in Prozent angibst. Außerdem sollte immer ein Frame (bei fixen Angaben) eine variable Größe haben. Du kannst auch alle mit quasifixen Werten angeben also zb. 250* -> mindestens 250 Pixel, wenn Platz ist größer, usw.
Du kannst auch mit Frameborder arbeiten und die Framegröße durch den Benutzer ändern lassen.
(hoffe das noch alles korrekt im Kopf zu haben)
sonst kannst du zb hier
http://de.selfhtml.org/html/frames/ nachsehen.
Die Auflösung des Benutzers kannst du durch Javascript auslesen, nur ergibt sich dabei das Problem das nicht alle User Javascript aktiviert haben. Und was machst du wenn ein Benutzer seine Seite nicht maximiert hat, etc.?