For the future reference of anyone else wishing to do this there are a couple of ways to create a database at a specified location. The simplest of which is using the wix tags that I did not know existed:
<sql:SqlFileSpec Name="DataBaseFile" Id ="mdfFile" Filename = "[DBDIR]TestDataBase.mdf"/>
<sql:SqlLogFileSpec Name="DataBaseLogFile" Id ="ldfFile" Filename = "[DBDIR]TestDataBase_Log.ldf"/>
This works perfectly as long as the directory that the database is being created in is not under "Program Files" or "Program Files (x86)". Both of these locations seem to have special permissions to them that don't allow SQL Server to create a database there. This theory can be tested by trying to create a database using Sql Server Mgmt Studio in a folder somewhere under Program Files and looking at the error that is produced. Which is something like this for me:
CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file
I'm still trying to figure out how an installer can accomplish putting a database under Program Files as I'm sure it's been done before.