Answer your question heavily depends on the distribution you are using. I will assume it´s Debian based, since they use this approach of sites-available and sites-enabled dirs and the /etc/apache2 configuration dir instead of /etc/httpd like the RPM based distributions.
Answer 1. That is correct. You can see the Include directive on your apache2.conf file:
host:/etc/apache2# grep sites apache2.conf
Include /etc/apache2/sites-enabled/
Taking a look at the Apache Include directive documentation:
... Shell-style (fnmatch()) wildcard characters can be used in the
filename or directory parts of the path to include several files at
once, in alphabetical order. ...
Answer 2. Not sure what will happen. I have duplicated on purpouse a VirtualHost on my Apache server and it did not complained about it. Not sure if first or last configuration was set as valid.
Edit1: It seems CentOS Apache uses the first entry of the VirtualHost configured, when i put 2 of the same VirtualHost inside /etc/httpd/conf.d/virtual_host.conf changing only the DocumentRoot. Config example:
<VirtualHost ip.address.A:80>
DocumentRoot /var/www/sites/wpad
ServerName wpad.xxx.net
ServerAlias wpad.xxx.net wpad
</VirtualHost>
<VirtualHost ip.address.A:80>
DocumentRoot /var/www/sites/wpad2
ServerName wpad.xxx.net
ServerAlias wpad.xxx.net wpad
</VirtualHost>
When i browse on Incognito/Private browser mode, i get the wpad.xxx.net/wpad.dat file that is provided by the first virtualhost. No errors found on Apache logs.
Answer 3. On Debian based distribution you have to create the file inside sites-available and symlink it to sites-enabled
cd /etc/apache2/sites-available/
ln -s your-site ../sites-enabled/
Or, you could use a2ensite as explained by @Sw0ut
/etc/apache2/sites-enabledwith symlinks to../sites-available. (Is this SuSE Linux?)