I know that when I use the ㅂ니다/습니다 form, if I want to say "I" I should say "저" and I know that when I speak in 반말 I should use "나" instead. But what about the intermediate semiformal 요 form, should I use "저" or "나"?
You can use both 저 and 나 in a sentence ending with -요.
It is kind of midway between -ㅂ니다/습니다 and 반말 sentence, so it can go both ways.
내가 먼저 하겠습니다 (X). Very strange.
제가 먼저 할게 (X). Even stranger - 저, 제 is never used in 반말.
제가 먼저 할게요 (O). Fine - with someone you're not so familiar with.
내가 먼저 할게요 (O). Also fine - with someone you're familiar with but not close enough to use 반말.