Hi,
There is no setting to restrict custom order fields to shipping methods. So there is no way to do that without a bit of coding.
You would indeed have to create custom fields of the table "order" via the menu Display>Custom fields.
Then, you would modify the file "show_block_shipping" via the menu Display>Views to add your custom javascript to hide/show the area of the custom fields based on what is selected in the shipping methods.
With these instructions someone with a bit of Javascript knowledge should be able to do it for you quite easily.