You can switch languages in a single document the way you've described.
<header lang="en">english text here, no matter how many inner elements there are, so long as they are all in English... though if there is one word or phrase in Basque, you can always override with an inner element: <span lang="eu">basque phrase here</span> and this text is automatically back to English.</header>
Only if there isn't already another tag around the other language (just use that then), otherwise a span is fine.
According to the specs, the lang attribute should include everything inside the element it is placed on, and is overridden by any elements inside (doesn't really matter what the element inside is, except that the new overriding language is only within the scope of that tag).
<p lang="zh">This paragraph and all inside are Chinese <a href="foobar" lang="jp">but this link is in Japanese <span lang="es">with a Spanish phrase inside</span> more japanese text</a> this is back to chinese</p>
Now I remember when I had an older version of JAWS where we used links for people to switch languages. Firefox at the time was trying to speed up the user experience by prefetching all links on a page. Until we added in the no-prefetch meta tag, using JAWS with Firefox meant that after hitting the last link (which was in Portuguese), the rest of the page was being read as if it were in Portuguese, even though the text was Dutch and the HTML tag had lang="nl" on it (this was a bug in JAWS; the HTML was fine).
So maybe text in a few popular screen readers who have Basque and English voices (I'm surprised this page doesn't have any Spanish dialects on it) to make sure some bug in them causes problems... or just be aware of the possibility if you get a complaint in. But it's pretty easy to nest the languages correctly in the HTML.
You said "mainly in English" so I take it you want
and just add in the lang="eu" where necessary.