A natural way to reason about Euclidean geometry using modern mathematical language is to define Euclidean space as an affine space $A$ directed by a finite-dimensional real vector space $V$.
However, a bare vector space structure doesn't provide us with enough language to define things like lengths or perpendicularity, so we're ought to endow $V$ with some additional structure. The well-known solution is to equip $V$ with an inner product. The length of $v \in V$ is then defined as $\sqrt{(v, v)}$, and, by definition, $v^1 \in V$ is perpendicular to $v^2 \in V$ iff $(v^1, v^2) = 0$.
However, in order to convince someone that the concepts we intuitively know as "length" and "perpendicularity" are indeed expressible in terms of a positive defined bilinear form, we unavoidably(?) need to apply to the Pythagorean theorem. Thus, in order to justify that our model of Euclidean space is adequate, we need to invoke some facts about the Euclidean space, which is an awkward thing to do while we are defining it!
Are there any (hopefully more intuitive and convincing) ways of defining length and orthogonality in Euclidean space, other defining them in terms of an inner product?
UPD: Let me try to rephrase my question in a different way.
Suppose you are giving someone an introductory course on Euclidean geometry. Imagine that you decided to stick to a linear algebraic spirit. So you postulate the existence of the set of points and the set of translations, and introduce the axioms regarding the translations and their relationship with numbers and with points. Now you can talk as much as you want about affine geometry.
Next you need to introduce some axioms relating to length and perpendicularity. You could define an inner product and even provide an example of it, but defining the distance in terms of it won't go well, because in order to believe that such definition is reasonable, your audience should know the Pythagorean theorem, which they don't, because you are just giving them an introductory course right now:)
Is there any satisfactory way out of this situation?