В Протеусе 8.6 косяк. Биты ANSELH ссылаются не на те пины порта B, а именно просто по порядку их расположения в порте. Получается AN8 это RB0, AN9 - RB1, AN10 - RB2 и т.д. Хотя на самом деле AN8 - это RB2, AN10 - RB1. Принимая во внимание этот косяк, проблема частично решена. Но почему значения регистров портов не отражают того, что к ним приложено снаружи? Списанные с них и записанные в переменные значения корректны. Но в самих регистрах не то, что должно быть. Ещё один косяк?