BTFSC tests a particular bit of a particular file register. It's described in the literature as
BTFSC f, b
The first argument, 'f', is the number of a file register. In the code you posted, 'f' is what you called 'BYTE', presumably declared as one of those registers. The second argument, 'b', you have specified as 'LOOPCOUNT', which is also a register into which you stored the number 7.
But the instruction doesn't work that way. 'b' must be a number, or a symbol or label that is equivalent to a bit number. They way you used it, it is using the value associated with the register number. For example, if LOOPCOUNT is register #26, then it thinks you said,
BTFSC BYTE, 26
Note that when you see an instruction like
BTFSC STATUS, Z
It looks like magic, but 'STATUS' really is a register with its own special number, and 'Z' is a symbol whose value just happens to describe which bit of 'STATUS' is the 'Z' bit. 'Z' is defined somewhere in the assembler or in an include file.