두글자 성씨까지 고려하려면 성씨 코드 테이블을 따로 가져가거나 일일히 나열하여 예외처리 해야 할 듯 하네요.
WITH t AS ( SELECT '인사' dept, '홍길동' name FROM dual UNION ALL SELECT '총무', '이순신' FROM dual UNION ALL SELECT '책략', '제갈량' FROM dual UNION ALL SELECT '홍보', '박차고나온노미새미나' FROM dual UNION ALL SELECT '장수', '김수한무거북이와두루미삼천갑자동방삭치치카포사리사리센타워리워리세브리깡무두셀라구름이허리케인에담벼락담벼락에서생원서생원에고양이고양이엔바둑이바둑이는돌돌이' FROM dual ) SELECT dept , name , REGEXP_REPLACE(name, '^(강전|남궁|독고|동방|망절|사공|서문|선우|소봉|장곡|제갈|황보|.)(.+)', '\1(\2)') nm FROM t ;