It is possible to host a L4D2 server on an Android device. First you have to find out how to run linux (ARM) on Android devices. I suggest Linux Deploy, requires root access, and It allows you to install kernel modules, which are compulsory for QEMU and other virtual machines.
The above two methods give you a Linux Arm environment, however L4D2 server is x86 only (Up to now). So we have to some how emulate a x86 Linux environment on Arm Linux. There are two approaches:
1. ExaGear,
https://thepi.io/how-to-run-x86-prog...-raspberry-pi/
2. chroot with QEMU:
https://wiki.debian.org/QemuUserEmulation
Both approaches are doing the same thing, converting a x86 instructions to its ARM counterparts, and
performance loss is unavoidable. After having a x86 Linux environment you can install wine to run Windows applications, but it will be even slower, and I do not recommend to run Windows version of the L4D2 server.
Once you have a x86 Linux environment, then you can install the L4D2 server as you deploying a server on a regular x86 Linux server.
The above approaches have not been verified. Some hints only!
PS: There are some very cheap VPS available. 1 CPU, 512MB, 20G HDD can host a 12-player L4D2 server (that's what I'm doing), and it costs me approx 5USD per month. My server is in Singapore. If you are not in the Asia-Pacific area, you may be able to get some even cheaper VPS, e.g. 20USD per year. The location of your VPS should be close to your place to minimize latency.
Update:
GNURoot Debian does not work with QEMU, since QEMU requires binfms kernel module.