This seemed to have worked for me (for the time being):
Open the Yahoo mail webpage from your desktop. Go to Account Info (click on the gear icon/help in the upper right hand corner and Account Info is at the bottome of the popup menu). Once you're at the Account Info page, on the left hand side click on Account Security. Turn off "Allow apps that use less secure sign in." If it's already off, turn it on and see if it makes a difference. Finally, for good measure, remove your Yahoo mail account from your iPhone and reinstall using the default settings.
This has allowed me to fetch email on my iPhone for about 6 hours now, the longest stretch in days. We'll see if it still works tomorrow...