S2 mention to show that I've read your brief. :)
Hello,
I can work on both parts of your project.
Regarding the first one - we can most probably achieve that with filters so there won't be any need for modifying WordPress core files. The question here is - where do you NEED the full title to appear and why do you do it this way?
Maybe - just a suggestion - we could save the data that's after the | pipe as custom taxonomy or post meta and display it only in places where you want it to be. This approach is more future-proof because, say, you install a different plugin for displaying posts in the future - you'll have to implement a filter to get rid the additional data from the title. If you, however, input the additional data as post meta, the default title is without it so any plugin would display the title as you want. We could then add filters to attach the additional data to post title only in specific pages.
We can do it in whatever way you'd like, though.
For the search part of the project - this is not an issue too - we can create a child theme for you with a specific page template for displaying search results in customized way.
Best wishes,
Mateusz