I am connecting wire from pin9 to GND to change the level
"change" implies that the pin has a one known state and is being set to another known state.
If there is nothing connected to the pin, and it's mode is not INPUT_PULLUP or the internal pullup resistor has not been turned on, then it does NOT have a known state at all times.
Grounding the pin puts it in a known state. Ungrounding it returns it to an unknown state.
I think i am getting same value - but why other bits are changing ?
As stated by others, floating pins will read with undefined results.
Pin 9 is Port B 1, which is the second bit from the right. So from your miniscule output sample, the port value is now correctly matching the digitalRead() value.