This is a quick script implementation of @Jacob Bugge's idea.
// select relevant page items
var doc = app.activeDocument;
var array1 = [];
for (var i = 0; i < doc.selection.length; i++) {
array1.push(doc.selection[i]);
}
array1.sort(function (a, b) {
return a.left - b.left;
});
var bounds1 = array1[0].geometricBounds;
var x1 = bounds1[0] + ((bounds1[2] - bounds1[0]) / 2);
var array2 = [];
for (var i = 1; i < array1.length; i++) {
var bounds2 = array1[i].geometricBounds;
var x2 = bounds2[1] + ((bounds2[3] - bounds2[1]) / 2);
if (x2 > bounds1[3] && x2 < bounds1[1]) {
array2.push(array1[i]);
}
}
array2.sort(function (a, b) {
return a.left - b.left;
});
var bounds2 = array2[0].geometricBounds;
var x2 = bounds2[0] + ((bounds2[2] - bounds2[0]) / 2);
var x = x2 - x1;
var y = Number(prompt("", "", "y (points)"));
var group = doc.groupItems.add();
for (var i = 0; i < doc.selection.length; i++) {
doc.selection[i].moveToEnd(group);
}
group.resize(100 * y/x, 100 * y/x);
for (var i = group.pageItems.length - 1; i > -1 ; i--) {
group.pageItems[i].resize(100 * x/y, 100 * x/y);
group.pageItems[i].moveAfter(group);
}