One option is to get rid of two of your tables. By adding a field that identifies a given record as either a quote or an order, you can keep the quotes and orders in the same table and also keep the line items in the same table. I am assuming that you want to maintain the original quote order as a separate record as one option for creating an order from a quote is just to change the label from "quote" to order, but sometimes the final order differs from the quote and you may want to keep track of that difference. If you choose to set things up that way, you can use the script found here for duplicating the quote record to create an order record and also be able to duplicate all of the line item records: Duplicating Bill Of Materials (duplicating portal line items) Be sure to use the script found at the end of this thread. The original example at the beginning has a flaw that is corrected in the latter version.
But if you still want to use separate tables, I'd look at using import records to copy your line items to the order line items table. Import records can copy a given found set of records from one table to another even when both tables are in the same file. Thus, you can use Go TO Related Records or a scripted find to find all the line items for you quote and then use import records to copy them over in a single batch copy.