bei input gehts nicht über PORTx sondern über PINx, also:

a = pind

die beiden nibbles lassen sich ohne probleme trennen, z.b. die unteren vier bits in variable b as byte

b = a and &B00001111

und die oberen vier in variable c as byte

c = a and &B11110000
shift c, right, 4

voila