how to keep previous values of custom Membership fields upon renewal
Suggest you consider using Activities since these offer greater flexibility imo.

Cases could also be considered with each plot of land representing a Case.

Either ways you end up with an annual Activity for "Plot Condition" etc etc