First thing: Admin Area
What you need is an accessory. You'll have to write one yourself. I can throw some pseudocode at you for the logic.
Here we do a few things
First, I would recommend checking if we are on the admin page for
Expresso store. I don't know the plugin, so I don't know it's module URLs or whatever.
You'd want something like:
if (ee()->input->get('method') != 'expresso_store')
// bail, we aren't even looking at an Expresso Store CP page
Then, if we aren't bailed, let's insert some jQuery to modify that input
jQuery here to replace the input you're concerned about.
Replace it with a <select> tag with your controlled <option>s.
Second thing: Edited via-admin shipping options not showing up via
I have no idea. But let's start with the basics... do you have any caching in place? This data is obviously stored in a database table. After you change a shipping option via the CP, can you reload the same CP page and verify the changes? Also, can you whip a database tool and investigate the Expresso Store DB tables and look at what gets changed to the order when you edit it via the CP? Sorry for asking so many questions, I don't have this addon to play with.