“Clear” may depend on your definition.
In my mind:
For mashing out, “Clear” means no bits of grain/husk. The wort is basically free from visual debris, however, there are still starch and proteins that keep the liquid from being able to see through clearly.
After the boil, “Clear” to me means that there are no visual bits of tube, hops, break material… The wort is clearer than before the boil, but not translucent (can see things through it) Although it is fairly close.
After fermentation “Clear” to me, means that if I put a picture on the other side of the glass (assuming it is a lightly colored beer), I can see the picture on the other side.
You say that you have never had “clear beer”. I will concentrate on this one, since, in my opinion, “clear” in all the other steps has more to do with how long you have allowed the particles to settle/filter.
One thing to check is the calcium in your water. 50 to 100ppm is a good number. Also, use irish moss or other similar product during the last 10 -15 minutes of the boil.
If your beer is still not clear in the end, after these two steps (this has always worked for me), you can try fining before kegging/bottling. Gelatin is a popular one, but there are many others such as polyclar to try.
One other thing that I can think of, is to check your sparging. If you are sparging too much, you may be extracting extra tannins. Essentially, chill haze is derived from tannins and proteins combining to form a haze matrix. If you can lower your protein or lower your tannin levels, that will reduce the ability for the haze to form.
One other thing I have heard some people doing, is to have a rest around 130F (could be wrong on the rest temp) to allow the enzymes to reduce the long chain proteins and create more “FAN”. (Free Aminio…nitrogen?) I would have to re-consult with Greg Noonan’s Book “Brewing Lager Beer” to recall the rest temp for sure. I also think I recall there being a protein content needed by the malt for this rest to provide a significant benefit.
If you do the 130F rest, it should only be about 10 to 15 minutes, or too much protein may be converted!
Good luck