It's not clear whether you're specifying URL-paths or filepaths above, and the distinction is important, but assuming that your "xyz" site resides in the same filespace as "abc.com" but in a subdirectory called "/xyz" below the main "abc.com" files, and that you have other working mod_rewrite rules in place, then in .htaccess in /xyz/ (i.e. in the top-level directory for xyz.com):
# Redirect all xyz.com/forums/<whatever> requests to www.abc.com/forums/<whatever>
RewriteRule ^forums(/.*)?$ http://www.abc.com/forums$1 [R=301,L]
#
# Redirect any requests for non-canonical xyz.com hostnames
# to the canonical www.xyz.com hostname
RewriteCond %{HTTP_HOST} ^([^.]+\.)*xyz\.com [NC]
RewriteCond %{HTTP_HOST} !^www\.xyz\.com$
RewriteRule ^(.*)$ http://www.xyz.com/$1 [R=301,L]
and in /.htaccess (i.e. in the top-level directory for "abc.com")
# Redirect all direct client requests for /xyz/forums/<whatever>
# in any domain to www.abc.com/forums/<whatever>
RewriteCond THE_REQUEST ^[A-Z]+\ /xyz/forums([/#?][^\ ]*)?\ HTTP/
RewriteRule ^xyz/forums(/.*)?$ http://www.abc.com/forums$1 [R=301,L]
#
# Redirect all direct client requests for /xyz/<whatever>
# in any abc.com domain to www.xyz.com/<whatever>
RewriteCond THE_REQUEST ^[A-Z]+\ /xyz([/#?][^\ ]*)?\ HTTP/
RewriteRule ^xyz(/.*)?$ http://www.xyz.com$1 [R=301,L]
#
# Redirect any requests for non-canonical abc.com hostnames
# to the canonical www.abc.com hostname
RewriteCond %{HTTP_HOST} ^([^.]+\.)*abc\.com [NC]
RewriteCond %{HTTP_HOST} !^www\.abc\.com$
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
Again, this code's applicability depends on having a standard "add-on-domain" setup, where the add-on domain is stored in a subdirectory below the main site's files. Also, I do not show the required 'set-up and enable' code for using mod_rewrite, as I assume that you already got some working rules in these .htaccess files.
The code snippets above should be inserted ahead of any existing internal rewrite rules, according to the following rule of thumb:
"Put all external redirects first, in order from most-specific to least-specific patterns and conditions -- in other words, ordered from rules that affect only one or a few URLs to rules that affect many URLs. Follow all external redirect rules with all internal rewrite rules, again in order from most- to least-specific."
Adhering to this rule prevents all kinds of unintended consequences, such as stacked or chained (multiple) redirects, and/or exposing your internal filepaths as URLs to HTTP clients, either of which can negatively affect your pages' rankings in search and confuse humans as well.
Jim