You can use an unordered list with a different class depending on how many digits are in the number. The borders in the CSS are just to show the box-model spacing.
The mdash is not an option as a list-item marker, so I just did a quick .png file so I could use the list-style-image property. You will want to make a different image so that it aligns vertically a little better.
CSS:
Code:
p {margin:0;
border:1px solid green}
p.spc {margin-top:2em}
ul {margin:-1.2em 0 0;
list-style-image:url('../Images/bar.png');
border:1px solid red}
ul.one {margin-left:.6em}
ul.two {margin-left:1.15em}
ul.three {margin-left:1.7em}
ul.four {margin-left:2.2em}
HTML:
Unfortunately, you still won't be able to completely predict how each device will split pages. They
may still split the <ul> off to the next page.