1/ How do I declare Option Explicit variables? I know how to create them within the sub, but how do I create them as global?
This is an apples/oranges question.
Option Explicit goes in the declaration part of a module. For instance, let Access create a class module for you in a form. Use a wizard to build a command button on an otherwise "virgin" form. Then look at the form's class module. The wizard created the module for you so it could populate the class module with the button's event code. In so doing, it build a good if somewhat clunky template for you. The Option Explicit statement will be right near the top of the class module. Any lines immediately following this statement and before the first entry-point code declaration (sub/function) are in the declaration area.
Dim statements can go in the beginning of the module (in the declaration area after Option Explicit) or in a function or sub. Normally they must appear before the first executable line of code in the thing you are making. When they appear in the module's declaration area, they are shared among all subs/functions within that module regardless of what you do. If they are defined in the header for an individual sub or function, they are private to that particular routine unless you declare them PUBLIC.
You could also declare them PRIVATE as a matter of consistency, but in that context they already ARE private (VBA keyword for "local" in any other language). Look up the syntax of PUBLIC (which is VBA's name for "global" in any other language) while you are at it.
You can declare a variable as public anywhere, but it is only truly public when it appears in a general module. I.e. go ahead and declare a public variable in a class module. It is still only visible in that class module, though it can be shared among the subs & functions within that module. But then, if it were declared in the declaration area of the class module, that would have been true anyway.
2/ What is the correct way of reffering to a control. ie: If I have a control called "myTextbox", within the code, do I type:
Well,... the name "myTextbox" can be referenced by itself in the code if that name is unique. But as a general rule, use Me.text-box-name as the preferred way in forms and/or reports when it is an intra-form reference. In that context, Me.x is always valid if x exists.
If it is an INTER-form reference, the full syntax is form-name.text-box-name and the correct name for form-name depends on whether the form is opened once {form.textbox}; more than once {Forms

.Controls("text-box-name")} - and you have some work to do to determine the correct number of "n"; or not at all (not available).