sp_blitzCache against one stored procedure
Rephrased your questions a little:

Q: Why multiple rows for the same plan handle?

A: Because a plan can include multiple statements.

Q: Why does a proc have multiple lines in sp_BlitzCache?

Similar to above: because a stored proc can have multiple statements in it. You'll see one line for the entire proc's metrics, and a line for each statement in it.

Q: When I see "CREATE PROC" does that mean the proc was created?

No, that's just how SQL Server stores the queries in a stored procedure. It shows you the contents of the proc.

Q: Why is the memory granted different from memory used?

Because the grant is calculated before the query starts using memory. It's kinda like you asking for money to go to the store - you may not use all of the memory if they don't have all the stuff you wanted at the store. You may end up only using some of your money.