Try wrapping the data inside the list entries in <span>s and hide them when the value is blank.
li[value=""] span
{
visibility: hidden;
}
http://jsfiddle.net/26z4W/2/
...Though that works to hide the text instead of the list bullets or numbers, which I just realized is what you wanted. Rooster's answer works for that.
Here's one way to do it, based on Rooster's answer but with support for using "NNO. " (using li[value=""]:before {content: "NNO. "}) instead of having it blank.
http://jsfiddle.net/26z4W/
Uunfortunately, it seems no browser implements ::marker yet, but if they do eventually that would make things like this much easier.