Solution:
Found the solution finally.. Tried modifying the htaccess file again.
Following is what i added in my htaccess in order to fix the problem. It might be useful to someone in the future.
<IfModule mod_rewrite.c>
#-------------------SUB.DOMAIN.COM---------------------
RewriteCond %{HTTP_HOST} ^subdomain.domain.com
RewriteCond %{DOCUMENT_ROOT}/members%{REQUEST_URI} -f
RewriteRule . %{DOCUMENT_ROOT}/members%{REQUEST_URI} [L]
RewriteCond %{HTTP_HOST} ^ subdomain.domain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . subdirectory/index.php [L]
#-----------------SUB.DOMAIN.COM---------------------
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
This solved the subdomain issue and the 500 error requests as well as the broken links problem.