1.)
http://www.mediaevent.de/javascript/window-screen.html
2.) Wenn dus richtig machst, nein.
3.) Was für einen Verweis? Meinst du einen Link auf einem Teil des Bildes? Falls ja, gibts dafür das html map-attribut.
4.) Worunter leiden? Unter der Auflösung? Hier gilt 2.
Du brauchst da nix per Script anpassen, das kann man alles per CSS regeln. Zum Problem wirds, wenn jemand mit 800*600 auf deine Seite kommt, und du mindestens 1024*768 brauchst - dann hätte der Benutzer nen Scrollbalken, mehr aber auch nicht.
Im Prinzip brauchst du eine Div, die eine feste Breite hat. Deine Boxen oder whatever positionierst du dann innerhalb der Div. Wenn die Auflösung zu klein ist, gibts nen Scrollbalken. Wenn die Auflösung zu groß ist, gibts links, rechts oder links- und rechts nen Rand; Je nach Einstellung. Du könntest der Div auch eine Mindestbreite mitgeben, dann würde diese ggf. größer werden.