Just as a general note:
Keywords test and Script code are, basically, two ways of doing the same thing. Keyword tests use a visual drag/drop interface of operations to perform actions for tests. Script uses code for doing the same thing. So, it's not like there's anything "special" about Script.
Now, using Script DOES allow you to do some fancier stuff like writing custom OO code for building automation frameworks, etc. But that's just code work that supports creating tests. So, to answer your questions:
1) In your project explorer, usually under "Advanced" is an item called "Scripts". This is where you can see the list of existing script code units that are currently in your project. You can add new script code units there and switch between units in your editor by double clicking on them. So, if you want to write your own custom framework code, start there with creating code units
2) See #1. Script code is script code. It doesn't distinguish between Web or Desktop or Mobile.
3) "Locators" I'm assuming is what you're calling the objects like Aliases.browser.MyPage.blah. There is no difference between keywords tests and script except you have to type them out.
As Marsha_R , you might benefit from some tutorials either in those screen casts she pointed out, registering for the TestComplete Acadmey free training, etc.
As a side note -> The terms you are using (locaters for example) seem like you're used to using a different tool. What tool have you used in the past? Perhaps we can help translate what you're used to using into TestComplete terms