This is difficult to answer without seeing more of the document--and may be a difficult problem in general.
One idea is to use extra zones (each anchored to its respective field)... maybe lots of extra zones... placed in roughly the places that the label/value pairs can appear. You can use multiple sample documents or create a fake sample document that has lots of the label/value pairs. You'd then be relying on the proximity logic of anchors to snap to the nearest anchor when the label/value isn't in quite the right place. And you'd be relying on having lots of them to make sure you always have an anchor near to one and that you capture them all. However...
1) it may be difficult to guarantee that you've captured them all for every document
2) you'll need to use Workflow to concatenate the zones into a single token, then remove empty zone values (use a token function)
3) you'll need to use Workflow to remove duplicate values because multiple zones might capture the same data. To remove duplicates, you might be able to use a token function, but you might also need to use a For Each Value activity in combination with a Conditional Sequence activity and multiple Assign Token Value activities.
Here's the gist of what I mean by creating a fake manifest with lots of the zones:
(but make sure they are all anchored!)

For the multiple page issue, you're doing to do something similar: add multiple pages to the fake document, and on each page, configure a bunch of these zones.
(Hint: you can make a multipage document from several single page documents by importing the documents into your LF repository, merging them, exporting the merged document as a multipage TIFF, and then creating a sample document from the multipage TIFF in the Capture Profile Designer)