How can I stretch a bone's tail to another bone or empty with a constraint?
It seems to me that there is some confusion between pose mode and edit mode: if your end goal is to apply pose as rest pose, it means that you want to have your rig modified in edit mode: this is the same result as editing in edit mode: so go to edit mode, select the head of the third bone, press Shift S "cursor to selected", then select the tail of the second bone, press Shift S "Selection to cursor". Then you'll have to choose if the third bone is connected and parented to the second or not (by now they only share the same location in one joint): if you want that select the third, shift select the second, press Ctrl P and choose "connected".