Ooh, I like that!
But to clarify, the method in the article is quite a bit better than you think:
"On average you’ll only traverse half the bill — and that’s half in terms of dollar value, not number of items. So much less than half the items if most of the bill is concentrated in a few expensive entrees."
I actually think it's kind of fun, with the multiple trials for who will pay. But I'm eager to try your idea now!
EDIT: You're totally right, this is a faster fair way! It's not as simple as it sounds though: if you land on, say, a $2 drink of which there are multiple such on the bill then you need a protocol to disambiguate. You could randomize again among the people who got one of those items.
What I like most about the method in the article is that you can avoid the confusing smaller items with high probability. Maybe the way to achieve that with your method is to walk down the items in decreasing order of price. That also forces you to identify sets of things that all cost the same, so you can do the second randomization if necessary. (You could also just pick a canonical order of the people, like alphabetical, or where they're seated, since there's enough randomness in the original random number.)