re 3, you could type the ranges in manually if you can learn the notation. For example, the range
Sheet2!A1:D10 refers to the range
A1:D10 on page
Sheet2.
Also, re 2, all I can think of is to use a Macro, since there you can select a contiguous block based on a single cell using
CurrentRegion e.g.
Code:
ActiveSheet.Range("a1").CurrentRegion.Select
Then create the named range from that selection, and a graph that uses the name should update automatically (in theory).
There's also a newer feature,
Structured References, which looks like it could be useful - but I have no experience with it yet.