showdevのコメントは、PDO DSNがhost:port構文を許可しないという正しいものです。
CMSが制御外でDB_HOSTを定義している場合、その定数を直接使用することはできません。しかし、そこから情報を引き出すことはできます。
$host_port = preg_replace('/:(\d+)/', ';port=${1}', DB_HOST);
$db = new PDO("mysql:host={$host_port};dbname=".DB_NAME.";charset=utf8",
DB_USER, DB_PW, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));