Tracking rotation with extremely high accuracy
What you're doing is possible, but I don't see how you're going to do it cheaply.

.05 degrees (3 minutes of arc) implies a resolution of 7200 counts/rev, or the equivalent of 13 bits (8192). Worse, since you're trying to make a position loop, you'll need at least one extra bit of resolution, or a 14-bit system. The problem lies in the fact that your position loop cannot detect an error of less than one bit, so if the arm starts to drift the angle sensor won't detect it until the output is one bit off. The position loop will drive the arm back the other way, and will stop driving it when the error drops to zero. But this will let the arm swing the other way until it gets a count in the opposite direction, etc. So, for instance, if you want the arm to maintain a sensor count of 100, the system may well produce 100, 101, 100, 99, 100, etc.

I suggest that an optical encoder is your best bet, but a 14-bit (16,384 ppr) encoder will not be cheap. Another possibility is a resolver or synchro, with an RDC or SDC (resolver/digital converter or synchro/digital converter) as a second possibility, but this will cost even more. Synchros/resolvers have 2 drawbacks. First, they've been generally superseded by optical encoders so what you'll find on the market are mostly surplus units. Second, accuracy is not usually adequate. Size 23 resolvers are usually rated at about 5-10 minutes of arc, so you'll need a high-precision unit, and good luck on finding one.

Inductosyns will give you exceptional resolution and accuracy, but will cost even more than an optical encoder. Essentially, you need a high-speed RDC to read the output.

Your concern about optical encoder accuracy is based on a specific manufacturer's paper, but that is essentially a scare piece. The possibilities for error are the same for every manufacturer, and the linked manufacturer is not somehow better than other manufacturers. Generally, for precision encoders, accuracy is the same as resolution.

While it is possible to get optical encoders with parallel outputs, you're probably better off with an incremental encoder and rolling your own up/down counter. If you do go this route, you'll use the "home" signal to reset the position counter every time you turn the system on.