You asked:
Yes this is certainly possible. What you need is a 'Streaming Parser' that understands the lexical structure of the input (JSON) and fires appropriate events as a file is read, giving you the parsed data.
We use this approach extensively and because it streams the file it can work with arbitrarily large input files.
We also have code that sits on top of the parser that can use separate knowledge about the Delphi classes (either specifically coded or garnered with RTTI) to build Delphi Objects in real time from the JSON and then send each completed object to the application as they are read. And because they're delphi objects you could have a method in the object definition that then knows what to do with the data. So once you have the appropriate classes defined processing becomes as simple as instantiating the parser, configuring it and telling it parse the input stream. Each object is handed back to you and you can call a method on that object to process it.
But of course you have to have the parser.
The code we use is not currently released into the public domain, but if it's of interest and your client has budget I can ask if it can be licensed to you if that would help.