If you are only using specific sizes for the measurement of the dimension and controlling those sizes via the block properties table then you can edit the attribute value as well via the block properties table and no field or regen is required. If you want to be able to enter custom sizes that are not on the block properties table, then a field would be required. It is fairly common for folks to fixate on the 'regen required' aspect of fields in order for them to immediately show the updated value. One thing that should be understood is that the depending on the fieldeval setting (IMO it should always be set to 31), the field will update automatically on open, save, plot, etransmit, and regen. Nothing bad will happen if a user does not regen. As soon as they go to save or plot the file, it will update the fields without any additional action on their part. If the immediate gratification of the field displaying the updated value is desired, then a manual regen is not difficult. RE and [enter] or [space] takes ~0.25 seconds. R and E are even next to each other for your left hand. I wouldn't personally have any interest in a LISP that would eliminate that non-issue.
The automatic 'flip around' for the text at a specific angle is certainly doable although it is a bit advanced. Is the block you posted exactly how you want the finished block to look?