Clarification Questions using 74HC165 Shift Register

considering modern chips have a signal time of like 10ns and using the arduino functions the fastest you can bang is 40 I dont know about the first delay (if you went to direct port toggling you could get that down to ~4ish ns)

the second kind of depends on whats hooked up to it

Hardware: I am using resistors of 10K for each button. Are these necessary? Is this the right value for the resistors ? Is there another way to ground them?

you have to have your lines pulled high or low, otherwise they are just flapping in the wind, and its a for sure thing for digital inputs to go nutty from random noise in the air.

10K is fine, since most digital inputs can possibly detect you waving your finger over them, it doesnt take much current to switch them. when you hit that button, whatever current is available though that resistor is sent to ground, so if you go lower its just wasting power, go higher and you could make things more efficient but your already in the 4th decmal place of current measurements.