The first of the two suggestions is potentially worthwhile - however, it would take a non-trivial amount of time to code and is not currently a priority. If anyone would like to code this, I should happily incorporate it. If this were done, it would need to work consistently for CTRL+dragging (for the upgrade type on next renewal) as well as for SHIFT+dragging (for immediate upgrading).
The second idea I do not think to be good interface design, as it is inconsistent with the way in which other way related tools work, and is likely to be awkward to use and lead to ways being replaced erroneously, especially at the corners of the rectangles.