Yes, this works fine. However, I would recommend putting all of your use statements at the top of your main .t script file.
It's very easy to get confused, and lose track of which files are included and which files aren't, when you nest your use statements in this way. If you accidentaly include the wrong file, your scripts could suddenly stop compiling, or certain function calls might not work because you don't have the right file included. It's a pain in the neck to go searching through multiple files to figure out what you've included and what you haven't. It's much easier and better programming style to just include all your files in one place.
Sungard Insurance Systems
I still use the old style from the early QA Partner versions where all my use statements are included in a library file (yes it's a .lib file) then I enter this .lib file in the Use Files: field of the Runtime Options dialog instead of the .inc file(s). Believe it or not this thing still works!!! (though not documented anymore)
I love that .lib file suggestion of Gilbert's. We do something else that you might find helpful in keeping control of the order in which your .inc files are compiled. We add a single use statement after the use statements already found in startup.inc (in the SilkTest program directory). Then we reboot SilkTest. The file that is "used" there contains other use statements, which contain other use statements, forming a tree of use statements. Then you have no, or few, use statements at the tops of your .t files. One advantage is that the .inc files always compile in the same order, making debugging easier. The other advantage is that if you have declared windows in these .inc files, you will now find that record - identifiers *always* returns the names *you* have assigned to these windows, as opposed to a bunch of hierarchical garbage. Makes writing scripting a whole lot faster. The downside is that if you have a huge number/size of .inc files, your initial boot will take longer -- just maybe a few seconds.