A good thought about text formatters @BitPoet, which I followed up, but they turn out not to be the cause of the problem.
However, I searched the raw data for the field in MySQL, and there, for some of the records in title_formatted, was the troublesome data. It is old tags from the previous version of the site from which the data was imported.
For example, viewed through phpMyAdmin, the title_formatted field for a record contains:
<a href="/site/en/tree-info/-407--i-quercus-rubra-i/"> <i>Quercus rubra</i> </a>
However, in PW clicking on the Source button for title_formatted gives:
<p><em>Quercus rubra</em></p>
And more-or-less the same with the browser's Inspect Element tool.
So, PW templates are getting the data as it is stored in the database field. But CK Editor is rendering it differently in the PW back end.
The data was imported directly by script, and thus was not entered through CK Editor. When the page is opened in the PW back end and saved, the data is stored in the database as it rendered by CK Editor (so in my particular case the extra <a> tags are removed). However, using $page->save() from a script does not trigger the CK Editor behaviour (perhaps there's a way that it could).
I'm wondering if it's worth re-posting this information under another title, as it really has nothing to do with finding pages and might be useful for someone.