Interesting question.. I don't think there's a way. Never heard of doing that for a high-level language- I can't think of a way to know how "unsorted" it is without iterating over the array every time.
The best I can think of would be to create a custom IComparer and use it for your comparisons, so you could log every time a comparison is made and thereby approximate progress.
If you don't mind me asking, what's it for?