I know that A/B testing is applied at the Program level. If we are running a email campaign that has 3 emails but want to apply A/B Subject line testing to each of the emails in the series, does each email have to be created as its own Program?
You can do nested email programs. So one default program that encapsulates 3 email programs, and they each can be different in terms of A/B testing. Right click, new local asset, email program.
A/B testing is actually applied at the email level, so you don't actually need to create an email program for each email. In fact, if all you are testing are subject lines, you only need one email asset. From the email program's Control Panel, click the "Add A/B Test". Then you can select to test "Subject Lines" and add 3 subject lines. So you only need one email program with one email asset to test subject lines. If you choose to test "Whole Emails" then you need to create another email asset, but they can still be local to one email program.
This assumes we use the Email Send program. Other methods include
Good point. In those testing methods outside of an email program, she would need to create another email asset entirely, but it can still live under the same program.