I'm using flexinode to create node-types, but I presume it will be the same bit of code that controls the menu box that allows you to assign your node to a category/term.
This menu box that appears at the top of the input form uses - and -- and --- to denote the levels within in the taxonomic tree. I think this is adequate for small taxonomies, but my taxonomies are inevitably large, and when complete, it is likely that there there will be about 600 terms in one vocabulary (a list of specific job titles). The solution would be a dependent menu that gives the first level of terms, and then the second, and possibly even a third.
I expect this can be done by a call to the server each time, but it can also be done by downloading all terms first and having two menus that are dependent. There are loads of bits of javascript out there to do this, but I just don't know how to go about implementing it. First, I don't know which function controls it. Second, I don't know how to call the data from the database such that it calls just the next level of subterms. Every time you open the menu and select an item, the script would have to check whether it has child items, and if it does, it calls those items into the same menu. All content nodes sits in the bottom folders of the semantic/taxonomic tree, so there is no need to allow mid terms to also have content placed in them. I have seen code that allows for dependent menus, but doesn't include calling the data for the array from a database.