// Форма окна
Ui::MainWindow *m_ui;
// Флаг ожидания ответа
bool m_waitAnswer;
// Открываемый com-порт
QSerialPort *m_comPort;
// Приемный буфер
QByteArray m_bufferRead;
// Таймер
QTimer *m_timerWaitAnswer;
Эти свойства у вас отвечают за контекст одного конкретного порта.
1. Нужно описать элемент-структуру по этим свойствам - тем самым опишите контекст порта.
2. Сделать массив из этих элементов - массив контекстов портов.
3. В каждом методе работы с портом обеспечить передачу входного параметра, чтобы указывать, какой i-ый элемент структуры использовать (какой контекст порта - конкретный порт), чтобы что-то делать с параметрами конкретного порта.