Good questions.  You’re exactly right that TensorView is behaving as a reshape (in fact, if you look at IRGen for Reshape 5 you can see that we generate TensorView for Reshape).
TensorView is a generic IR instruction that represents taking a “view” into a memory region of a tensor without creating any new allocation. Reshaping is one example (change in type without change in data), another is slicing (looking into a subregion without copying the data).  Since it deals with underlying memory it doesn’t exist at the Graph level, only the IR level, which is why you see Reshape in the dot files but not in the IR.
I’m not actually sure about getting the view size or “output” name of a TV.  I’d probably look at the generated class implementation in AutoGenInstr.h .  I also kind of agree the way we use @out params and names on the RHS in the IR is pretty confusing