Absolutely. Turn on shell-script-mode/sh-mode in the scriptfile buffer, perhaps switch to zsh with C-c : for sh-set-shell (could change the first line of your script), and maybe mark some lines and press C-c C-n for sh-send-line-or-region-and-step - this did not switch to a re-used shell-buffer in the other window in my experiments. I can't figure out how to associate a certain shell buffer for a script buffer.
You can execute the complete script with C-c C-x for executable-interpret, but I can't quite tell how that might interact with interactive scripts.