When I am using Google translate on "I am almost 18", I get:
Ich bin fast 18.
Ich bin beinahe 18.
Are this sentences correct? What is most used? Are there any other popular forms?
Yes, those sentences are correct. Most used is the first sentence
The other sentence sounds somewhat awkward. Beinahe has - imho - a connotation that means that there had almost something happened.
So, I'd recommend not to use beinahe.
A typical alternative is
would tend to mean that you barely missed being 18. For example, you wanted to watch an age limited movie in the cinema, but they didn't let you in because you are not quite 18 but only almost 18.
would tend to mean you are approaching 18 and will hit the goal soon. Like you didn't watch a movie because it is for kids and you are almost 18.
Yes, both are correct. A somewhat more verbose, but also correct variant, would be to say