Hope oracle documentation could easily clear this
Both of the sqlplus and tnsnames.ora are part of the server.
SQL*Plus is installed whenever you install an Oracle database because that's the command used to create and manage the database. That does not mean it is part of the server but it is a local client.
tnsnames.ora which is not always necessary instead it allows to create an alias to connect to your instance. If you don't have an tnsnames.ora you can use direct connect instead. Again this is to connect from a client to the server. But a client can be local (so on the same machine) or remote.
To answer your question in general: there is no difference between SQL*Plus or a tnsnames.ora on a server or on another system.
If you want to connect from another system to your XE database you can also use instant client because that does not require an "installation" but only an uncompress of the package.
Thank you for your explanation. I have some further questions:
1. After I installed Oracle 11g XE server, it also installed a "local client". If I install a remote client (for example, Oracle Database 11g Release 2 Client) on the same machine (Windows 7 Home Premium). What is the difference between the "local client" and the "remote client"?
2. My Windows 7 is 64 bit. If the XE server is 32 bit, can I install 64 bit remote client on the same machine?
You can install Datbase client on local machine and access database, When you install on a different computer and access remotely this becomes remote client
If you are accessing locally(with datbase client) you dont have to have a listener running , you can directly connect with beq http://www.orafaq.com/wiki/Bequeath_protocol
Yes, 64 bit database client is availabe http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html