Yes, possibly using

Code:
ON_CONTROL_RANGE(BN_CLICKED, IDC_FIRSTCHECKBOX, IDC_LASTCHECKBOX, OnButtonClicked)

afx_msg void OnButtonClicked( UINT nID );

void CMyDialog::OnButtonClicked( UINT nID )
{
  CButton *mycb=(CButton *)GetDlgItem(nID);
  mycb->SetCheck(!mycb->GetCheck());
}
This requires all button control IDs to be a continuous sequence.