SQLExpress is the same thing as SQL Server so it is compatible with your host if your host has SQL Server you could get a backup from the host and restore it locally.
Or you can use a different database locally. In any case the database connection string is going to be different on the host than on your home machine. Hopefully the connection string is in user.config, if user.config exists in the root of the site then it will use the connection string from user.config, else it will use it from Web.config.
So the idea is that your local user.config would not be the same as the one at your host and you would not want to overwrite the either of them with the other one or it will break your connection and give you the error you have now saying it can't connect to the database. Your local user.config connection string would point to your local SQLExpress database assuming you have one and the one on the server would point to the database provided by the host.
SQL CE is not the same as SQL Express/SQL Server. It is the easiest to work with because it is a file based database and there is no software to install, so copying the site already does copy the database since it is just a file on disk. But still with SQL CE you have to be careful to not copy over the database on the server with the local one that is not up to date or you would lose data. While SQL CE is the easiest to use since it doesn't require SQL Server to be installed, it is not going to perform as well as SQL Server, so given a choice I would rather have the more difficult installation/configuration and use a more robust db unless I'm just toying around.
You cannot easily go back and forth between SQL CE and SQL Server. There is a way to migrate from SQL CE to SQL Server/SQLExpress, but once done you would not want to go back.
Hope that helps,
Joe