I kinda like your idea henrik, but im alittle confused on a couple of the terms "bitwise, shifting" I dont normally do this kind of thing in code.
My PORTB.0 is being used as a interupt, is there a way to do something to shift the number over
Sorry ACE i was totally confused by that code.

What I need with very little coding.
MYVAL = 7 ' 00000111
SHIFTCODE MYVAL < ? & make bit.0 1 ' New MYVAL = 00001111
PORTB = MYVAL

now as far as i understand I need to make sure any code that is sent to portb has portb.0 as a 1, since i need to keep it high, until a button is pressed. I dont want to trigger a INT by sending a low to that pin. but I need to shift the first 3 bits to the left and make sure the first bit ends up a 1.