normalize this! allow user-defined ordering but fall back to default order
Can this schema be improved/normalized? Yes, it would be better if all the ordering data was located in the same place.

Should we just use vendor_order table for the company order too? That's a good idea. That would place all ordering information in the same table where it is much easier to work with and maintain. Of course, you would have to create an office entry that would stand for this default "company-wide" office. But that shouldn't be a problem.

You would have to rewrite the query, of course.

As order data would no longer be in the Vendor table, you would also have to join it to the Vendor_order table on that "company-wide" office then left join again on the actual office number.

I've provided a simple sqlfiddle example. Comment out the WHERE clause to see that all vendors are listed for all offices in the correct order.

Should we make a separate table for office vendors? Not necessary. There should be a table for offices, a table for vendors, and a table which defines the default ordering and any special ordering for specific offices. See the example.