The first difference between loading a script from a file and running a script from a script tag is that the loading requires an extra HTTP request. This is usually trivial, but you will get a speed increase from having the script embedded in the page. However, loading from an external file does allow for the script to be cached. It seems like you cannot rely on caching, though.
Now, I should tell you, having all of your scripts hard-coded on the page is not very manageable. If you want to update one of the scripts but it's tied to a specific html file, it becomes that much harder to update.
As for your second question, scripts are loaded in order. All external loading is blocked while scripts are loading. Therefore, it is advisable to put all of your script includes at the bottom of the <body>
tag.