As I have written in https://wiki.ubuntu.com/HowtoFixIndicFontRendering, giving priority to Pothana2000 in ~/.fonts.conf is same as doing it in /etc/fonts/local.conf and it works (I don't know about specifying lang=te for a specific font in fonts.conf).
While I agree that Telugu fonts should be fixed to have lang=te recognised by fc-cache, I don't think that this is proper solution to the problem. This is because FreeFont one day will also fix itself to contain lang=te and then the prioritisation problem will reapper. In an ideal scenario, we will have multiple Telugu OpenType fonts on the system and we will have to have a default font set somewhere in the system. For other languages (atleast for Korean?) this has been set in /etc/fonts/fonts.conf. All Indian languages should have the default fonts set somewhere for "sans" "serif" and "monospace".