It would not be hard to add the following error. To do following, I would just have to use the accumulated pulse count that is normally used as position when not using an encoder, and calc error as the difference between the two. Of course the next thing you will want is to use that error value to adjust the velocity, which would be something of a PP loop.
I'd say the internal work is pretty easy. The harder part is the limited register space I have to work with. I have already done major hair-pulling to get stuff out of the CTRIO2, and more ain't gonna be easy, at least not live. The fall-back would be to use the back door register access CTREGRD, but that wasn't intended to be used in real time. I don't know that it would hurt anything, but that would constitute coloring outside the lines.