Currently, if we choose to 'update' a custom field via Workflows or a hidden value in a Form or Survey that would be submitted by a Contact then that Custom Field gets overwritten with the 'new data', deleting any prior data in that Custom Field.
Solution:
Give us the ability to enable a 'append data' feature at the Custom Field level. This could take the form of a checkbox or toggle when creating and editing a Custom Field. The expected behavior would be that whenever a Workflow or Hidden Field on a Form or Survey, it adds the new data to any current data.
Caveats: This would work best on Custom Fields like Checkbox, Dropdown (multiple), and perhaps even Multi Line and File Upload. I don't see this making a lot of sense on any other types of Custom Fields.