That's great news! I hope he keeps improving! He can have 1 baby aspirin or 1/4 adult aspirin once a day for pain. See if it makes a difference.
This!
He must be in terrible pain. Chickens are prey animals and hide their suffering so if he cannot move or move much then he is very badly injured. Maybe it is just bruising but it sounds more serious given your description. I'm not sure what else you can do. Maybe check him over carefully by feeling all over him and see how he reacts to your touch. You might be able to locate the injury. If its ribs, pelvis or neck there isn't much you can do except make him comfortable. Wings and legs can be splinted.