Extend surface by endpoint

Is it possible to extend surfaces by their endpoints rather than from the entire edge? This is quite a useful technique I like to use in Alias:

E: It is used in an actual example here.

More functionality, yes please!—-Mark