Good news! You CAN actually change the data retention properties on an existing DE.
You just need to create an Update SOAP API call to the DataExtension Object and use the DataRententionPeriod, DataRetentionLength and DeleteAtEndOfRetentionPeriod properties.
As far as your requested use case, you can easily do that as well using something like below.
<script runat="server">
var masterDE = DataExtension.Init("MASTER_DE");
var filter = {Property:"Date",SimpleOperator:"greaterThan",Value: yourDate};
var data = masterDE.Rows.Retrieve(filter);
for (var i=0; i < data.length; i++) {
var subKey = data[i].SubscriberKey;
var rowDelete = Platform.Function.DeleteData('MASTER_DE',['SubscriberKey'],[subKey]);
};
</script>
Based on your comments, it seems you are going to store all the items that need deletion in another DE. In that case it is even easier:
<script runat="server">
var deleteDE = DataExtension.Init("yourDELETE_DE");
var data = deleteDE.Rows.Retrieve();
for (var i=0; i < data.length; i++) {
var subKey = data[i].SubscriberKey;
var rowDelete = Platform.Function.DeleteData('MASTER_DE',['SubscriberKey'],[subKey]);
};
</script>