I finally came up with a custom action that does what I want, in case anyone else is interested in this unusual use case ... :-)
I've associated the new action with the mouse modifier for media item left-click with a Shift-Alt modifier. So, to use, I drop a marker at the point I want the item to extend to, then hover the mouse cursor over the relevant item and click it whilst pressing Shift-Alt. All items on that track beyond the marker are shifted right, the selected item is lengthened up to the marker and then the marker is removed.
Here's the action:
Custom: Extend item under cursor to next marker, moving later items
Item: Unselect all items
Time selection: Remove time selection
Item: Select item under mouse cursor
Item navigation: Move cursor right to edge of item
Time selection: Set start point
Markers: Go to next marker/project end
Time selection: Set end point
Script: Archie_Time selection; Insert empty space at time selection in selected tracks(moving later items).lua
Item navigation: Select and move to previous item
Item navigation: Move cursor left to edge of item
Time selection: Set start point
Markers: Go to next marker/project end
Markers: Delete marker near cursor
Time selection: Set end point
Item: Move and stretch items to fit time selection
The only non-standard command is Archie's script (from ReaPack) which I have attached below