LEVA is a great resource for court video-related stuff, especially depositions and indexing software for that. Your first stop should be there.
I think the latest version of Adobe Premiere might be able to help you do this faster, using script-based editing and voice recognition… but really any NLE could make a 2-box, it’s just a question of how hard you want to work at entering the text data and synching up the playbacks.
What I would do with the gear I had on hand is, use a subtitling program, feed it the text file from the transcript, and run that along the bottom, aligned by hand to match the video. If the client insisted on side-by side boxes and a full page of text, I would compose a 16×9 picture for this, and feed the transcript into a character generator, to create the sharpest readable text. A little faster way would be to save the transcript as PDF, and treat the PDF pages as single-page graphics. How you would highlight the text could be handled using a wipe effect. This would be exceptionally slow and tedious work, I wouldn’t want to have to do it like that for more than a handful of pages.
Microsoft has a streaming video solution that would let you run a box with the talking head shot and a corresponding box for powerpoints. You could assign a powerpoint slide to each page of transcript and synch them that way, one advantage of that system is the boxes are er-sizeable by each viewer/uer, so some can make the text bigger and the talking head smaller, if they want, as an example. Archive that stream to a single video file and youi’ve “baked” it into a permanenet copy.