Natürlich kannst du die Bildgröße durch Variablen bestimmen und die dann z.B. als GET-Parameter mitübergeben. Also wenn du das mit dynamisch meinst: ja, klar.

Transparenz: Habe ich noch nie gemacht, aber imagecolortransparent() sollte funktionieren. Bei obigem Code einfach vor dem imagegif()-Aufruf das hier einfügen:
"imagecolortransparent($image, $weiss);"