Yes, controllability does extend to discrete-time systems pretty easily. And no, one does not have to go from one state to the desired state in one time-step. Often, the time taken is a design specification (e.g. need to achieve desired state in k-steps).