If I have a clean server I need to install SSL on these are the steps I normally take.
First I edit SSLCipherSuite and SSLProtocol in /etc/httpd/conf.d/ssl.conf to harden the install a bit.
/etc/httpd/conf.d/ssl.conf
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLProtocol -ALL +SSLv3 +TLSv1
Then I create /etc/httpd/conf/ssl.crt, /etc/httpd/conf/ssl.key, /etc/httpd/conf/ssl.csr folders. You could just as well put these in the existing /etc/pki/tls folder but I like keeping my website stuff seperate from any other CA stuff that may be going on on the server. I put the key and the certificate and optionally the csr into the folders I created. If there are any intermediate certificates I chain them togeter into one file and put it in the /etc/httpd/conf/ssl.crt folder as intermediate.pem.
I normally keep the configuration for each virtual host in its own file under /etc/httpd/conf.d/vhosts/. (make sure your main apache configuration is set to read in any *.conf files from this folder). So I may have a file called /etc/httpd/conf.d/vhosts/www.mysite.com.conf. This file will contain two directives one for port 80 and one for port 443. If I want everyone to use SSL you could do a mod-rewrite like in this example.
/etc/httpd/conf.d/vhosts/www.mysite.com.conf
[VirtualHost 192.168.0.1:80]
ServerName www.mysite.com
ServerAlias mysite.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
[/VirtualHost]
[VirtualHost 192.168.0.1:443]
ServerName www.mysite.com
ServerAlias mysite.com
DocumentRoot /var/www/vhosts/www.mysite.com/httpdocs
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /etc/httpd/conf/ssl.crt/www.mysite.com.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/intermediate.pem
ErrorLog /var/log/vhosts/www.mysite.com-error_log
CustomLog /var/log/vhosts/www.mysite.com-access_log common
[/VirtualHost]
Replace the []'s with <>'s even in pre tags it was trying to read them as html and not showing properly.
So directly to your questions:
1) I have never seen or used SSLCertificateChainFile Im assuming its the intermediate certificate bundle which I would use SSLCACertificateFIle for.
2) If you want to force everyone to HTTPS you will need to do a redirect or a mod-rewrite. Apache will gladly host both HTTP and HTTPS content at the same time and for most people this is what they want. It can be a major PITA to get all the external resources you pull into your site to be HTTPS which will throw warning messages to your users if you use HTTPS on say your home page. If this is not a problem for you though then by all means use HTTPS everywhere.