#2)
The original programmer seemed to like declaring variables in-line. I've always declare variables at the beginning of (the program, function etc). Is either considered poor form?
Any section of code enclosed by braces comprises a scope. As you see here, the hello variable is not visible outside them.
Generally, it makes sense to have a variable declared in the most constrained scope possible. Information hiding means that only the code that needs to know about a variable can access it. It helps defend against bugs and makes it easier to find them when they do creep in because it restricts the area you need to examine. Globals mean you need to consider your entire codebase.