Squash and Stretch bones

On a parent bone:

Unfreeze length, and

set to SQUASH

Push and pull the child bone, to the parent bone will squash/stretch:

 

You can also make a parent bone squash/stretch by

unfreezing length,

(leave set to scale) and

moving the child bone.

The parent bone now will squash/stretch to accommodate the movement of child bone (just as it does in BONE EDIT mode.)

 

Both examples can be animated; skin will deform meshes to accommodate the stretched bone.