Is there a way to install .NET on a USB drive, pop it into a machine and get .NET working without actually installing it on a client's local machine?
I am also trying to figure out how to do the same for SQL Server. Is it even possible?
No, its not possible for reasons stated by others here.
Your best bet is to require .NET to be installed, and then run your .NET application from the thumbdrive.
If you need SQLServer but dont wanna install that beast you can use SQL Compact (included in .NET) and store the database in the same folder on the thumbdrive.