Is it possible to intercept a 'open file' event in windows and replace the default opening application with something else?

Create a program in your preferred language which takes the file name as a command-line parameter, does some guessing – either based on the path alone, or on the PDF file's contents – and make Windows open all PDF files with that program. (In Windows I'd probably go for VBScript or Python due to them having "windowless" interpreters, and even AutoHotkey might work.)

This is the least hacky option – there is no magic "event interception" that needs to be done.

Before Microsoft Office went with OOXML (the .docx, .xlsx) formats, around Office 2003 it had the option to store documents as basic XML files. The file extension used was .xml regardless of the type – documents that opened in Word were .xml, spreadsheets that opened in Excel were .xml, and all the other random XML files that opened in Internet Explorer were .xml too.

The way this worked was that .xml files were associated with a dedicated "launcher" program which looked at the XML file's structure and opened either Word, Excel, or whatever else was appropriate.