TSAX's post nailed it. I would recommend option #3. That will be your best bang for the buck. But it will not be carry friendly, if your G23 is your carry gun. If you want compensation ports and you want to carry it, I'd recommend selling your G23 and picking up a G23C. That will probably be the most wallet friendly means to get what you want.
NRA Life Member
*19c, 23c, 24*