Modify the legend. LABEL= removes the legend label. VALUE= defines the color for the value labels; by default legend value color is determined by the CTEXT= option in the procedure statement. In this case, CTEXT=WHITE, so the legend statement uses the VALUE= option to override that color specification. ORDER= orders the legend values to match the slice order in the pie chart.
legend1 label=none
        position=(left middle)
        offset=(4,)
        across=1
        order=('Coal' 'Gas' 'Petro'
               'Nuclear' 'Other')
        value=(color=black)
        shape=bar(4,4);