Assumptions of One Way Functions
As for your first question, the reason behind adding $1^n$ as an input to $A$ is to allow it a running time of (at least) a polynomial in $n$. In most applications of one-way functions, $n$ is not a secret, so there is no reason to hide it; in fact, for most functions you can determine $n$ from the output size.

To see what fails if we leave $1^n$ out, consider the situation in the second question. You're misreading the notation - $|x|$ is the length of the string $x$. If $x$ is $n$ bits long then $|x|$ is $O(\log n)$ bits long, and so no machine can find a preimage in time polynomial in $|x|$. However, it is easy to find a preimage in time polynomial in $n$. Add ing$1^n$ as a parameter to the adversary $A$ ensures that $|x|$ is not considered a hard function.

Finally, one-way functions, weak or strong, are not known to exist, even assuming P$\neq$NP. This is similar to the situation in computational complexity, where no worst-case hard functions are known. However, some functions are conjectured to be one-way - ask your professor for their favorite ones.