You can certainly reorder the fields - either by using jQuery to move the elements, or if your store is on version 1.0 or newer, you can use the Twig templates to edit the raw template.

In terms of removing/hiding fields - you can do that either using CSS styles in your template, or again, by editing the Twig template itself. For the fields you mentioned, the company, address 2 and phone fields aren't required generally, so that should be fine. The state field can be required, depending on the country - but if you're setting it to Taiwan, it's not required then (providing you're on 1.0 or newer) so that should be fine too. Due to the way the javascript operates though, I'd recommend just hiding the state field using CSS rather than removing it from the template, as otherwise you may run into some errors.

In terms of restricting the country field to a single country - you can do that using some javascript on your checkout - grab the right snippet for your store version from our snippets page: http://wiki.foxycart.com/snippets/start - you're looking for the locations modification snippet.