Combining 2 Queries to pull titles of 2 related content types from the node table
I think you just want to join the node table in to your query again and grab the title that way:

$query = db_query("
  SELECT n.nid AS pnid, n.title AS ptitle, n2.title as swatch_title
    FROM {node} n
    INNER JOIN {$products} p ON p.$productref = n.nid
    INNER JOIN {node} n2 ON n2.nid = p.$productref"
);