OK, I think I've solved this using only standard code - I fell back to 'inline-table' instead of 'inline-block'. Somewhat comical since one of the reasons the display parameters were created was to eliminate the abuse of tables for non-tabular data. Oh well...
Here's the CSS:
And here is a sample of two verses:
<table class="tableblock vneg1">
<td class="verse">Again we meet to celebrate<br />
With badge and solemn rite,<br />
Our fifty-second anniversary,<br />
In Pickwick Hall, tonight.</td>
<table class="tableblock vneg2">
<td class="verse">We all are here in perfect health,<br />
None gone from our small band:<br />
Again we see each we,nn,mll-known face,<br />
And press each friendly hand.</td>
Yes, you do need a separate div for each verse. Otherwise the verses go side-by side.
I tested this in ADE and in Sigil and it seems to render well, and it will break across pages in ADE (it won't break a single verse across a page, but the entire poem will break between verses).
Please provide feedback on how this works in different readers. Thanks!