Charles Porter besuchte die öffentlichen Schulen seiner Heimat. Nach einem anschließenden Jurastudium an der Law University in Albany und seiner 1854 erfolgten Zulassung als Rechtsanwalt begann er in Ashland in diesem Beruf zu arbeiten. Während des Bürgerkrieges diente er im Heer der Union. Noch während des Krieges ließ er sich in Norfolk (Virginia) nieder. Für ein Jahr wurde er juristischer Vertreter dieser Stadt. Zwischen 1863 und 1868 fungierte er als Staatsanwalt. Seit 1867 lebte Porter in Richmond. In dieser Zeit schlug er als Mitglied der Republikanischen Partei eine politische Laufbahn ein. In den Jahren 1867 und 1868 war er Delegierter auf der Versammlung zur Überarbeitung der Verfassung von Virginia.
Nach der Wiederzulassung des Virginia zur Union wurde Porter im dritten Wahlbezirk von Virginia in das US-Repräsentantenhaus in Washington, D.C. gewählt, wo er am 26. Januar 1870 sein neues Mandat antrat. Nach einer Wiederwahl konnte er bis zum 3. März 1873 im Kongress verbleiben. 1872 verzichtete Porter auf eine weitere Kandidatur. In der Folge kehrte er in seinen Heimatstaat zurück, wo er in New York City und Beacon als Anwalt praktizierte. Er starb am 9. Juli 1897 in seinem Geburtsort Cairo, wo er auch beigesetzt wurde.