For situations like this, the optimal solution is usually to work with a local-space copy of the geometry rather than a world-space copy.
However, if you need to modify a world-space copy of the rectangle, one way to do it is as follows. Convert to rectangle to a position (which can be a corner if you want), an orthonormal basis (two mutually perpendicular unit-length vectors), and a height and width. You can derive this information from the vertices by subtracting the appropriate vertices from each other and computing the lengths of the edges.
Once you have the rectangle in this form, you can adjust the width and height as desired, and then rebuild the vertices from the modified data.
There are other ways it can be done that might be more appropriate to the context, but they'll likely be at least somewhat similar to what I described above.