One option here would be to form the normal equations $A^{T}Ax=A^{T}b$ and solve them by Cholesky factorization of the resulting $n$ by $n$ matrix. This squares the condition number of the problem which could potentially be a significant problem.
Forming $B=A^{T}A$ doesn't require more than $O(n^2)$ memory, assuming that you can access the rows of $A$ one at a time. Basically,
B=zeros(n,n);
for i=1:m
B=B+A(i,:)'*A(i,:);
end
With this very large number of rows, it might be more appropriate to simply randomly sample from the rows of $A$ rather than using the entire matrix. This will of course depend on your problem data.
If ill conditioning of $A^{T}A$ is a significant problem, then you might also consider "Q-less" QR factorization methods in which you perform orthogonal transformations on $A$ to compute $R$ from the QR factorization without computing or storing $Q$ and you simultaneously perform the appropriate orthogonal transformations to the right hand side of your least squares problem.