avr digital input

I have a bit stream 100110, and I want to read this into the avr and store it in a variable. I going to use interuppts, however when you trigger on change its fine, but in my case some bits don't change and this means that the avr will skip those. So the avr will read 1010

From your verbal description I can't tell precisely what your expectations are. Normally with multiple digital inputs you sample all of them at the same time, regardless of whether they have changed recently or not. You can do this with a periodic timer, say every 20 milliseconds, or you can do it when any of the bits you are interested in change. So you take a sample by whatever means you deem appropriate and you look at one or more consecutive samples to see if the input has changed or remained the same. The process is known as debouncing and it normally applies to mechanical switches such as you might find on a keyboard or a game controller.