Try this;
Code:
X VAR WORD
OldVal VAR BYTE
PortVal VAR BYTE

TRISB = 0

Main:
   RANDOM X
   PortVal = DCD X.HighByte       ' get bit #
   IF PortVal = 0 THEN Main       ' value should always be > 0
   IF OldVal = PortVal THEN Main  ' value should be different on every pass
   PORTB = PortVal
   OldVal = PortVal               ' record old value for next pass
   PAUSE 200
   GOTO Main

   END