This jsfiddle works pretty well, please note that the left edge and text indentation depend on the icon used, but this one they retain their alignment even when changing the font size.
CSS
ul { list-style: none; width: 150px; font-size: 16px; text-transform: uppercase; } ul li { text-indent: -0.88em; margin-left: 0.88em; position: relative; padding-right: 1em; } ul li:before { content: "\25A0"; color: #C60; vertical-align: text-bottom; margin-right: .25em; } ul li:after { color: #C60; font-size: 0.8em; content: "\25BC"; position: absolute; right: 0; top: 50%; margin-top: -.5em; }
Edit: vertical-align: text-bottom; leads to better alignment of the icon to text in FF for me.
Simon source share