Restricting who can use your software is incompatible with the definitions of open source and free software, so any license you choose that restricts which kinds of entities may use your software would not be a FLOSS license. The Open Source Definition includes the following requirements and rationales:
5. No Discrimination Against Persons or Groups
The license must not discriminate against any person or group of persons.
Rationale: In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open-source license from locking anybody out of the process.
6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.
For the second part of your question, you may offer your code under an explicitly irrevocable license like the GPLv3 or Apache 2. However, as the copyright holder, you always have the right to issue new licenses with different terms. If you wanted to prevent yourself from being talked into issuing a new license with different terms, probably the safest way to do this would be to perform a transfer of title of your copyright so you are no longer the copyright holder. (Or an analogous exclusive transfer of rights, if your jurisdiction does not directly allow copyright transfers.) In that case, only the new copyright holder could issue new licenses.
Optimally, you would chose an ethically rigorous organization (such as the FSF, or Free Software Conservancy, perhaps) as the new copyright holder who would respect your original wish not to issue different license grants. Which organization or individual you trust to do this would depend on your goals and original licensing terms. If you want non-FLOSS terms that restrict which kinds of entities may use your software, I would not expect any organization associated with free or open source software to be helpful in your case. However, if you used a GPL license and wanted to ensure you would not be talked into issuing a non-copyleft license in the future, the FSF might be cooperative and accept ownership of your copyright.