Batch image program to replace 2 colors?

For a single color replacement I suggest you use XnView's batch processing tool:

XnView

If you need to replace a range of colors, or use tolerance settings (especially useful for JPEG images where neighboring pixels might have slightly different colors - sometimes imperceptible to the eye), I recommend Batch Images. It's also more user friendly for batch processing:

Batch Images Color Replace

Batch Images Color Replace

Disclaimer: I am a frequent user of both XnView and Batch Images.