Yarn-like functions
The following Maxima code plots a curve that might do what you want. The idea is to start with a point describing a circle on the sphere. Next we introduce rotations of the coordinate frame around each of the axes. The rotation angles vary linearly with time. All quotients of "periods" involved should be irrational. I think it is true that eventually you will pass as close as you want to any given point. This is already true for one rotation. I do not know how to prove or disprove your density requirements. It should be possible to calculate the curvature as a function of t. It is possible that two instead of three rotations are enough.
To visually assess the density of the curve you could use an equal area map such as the Lambert azimuthal projection (of any hemisphere).
rotx(a, p) := [ p[1], cos(a)*p[2] - sin(a)*p[3], sin(a)*p[2] + cos(a)*p[3] ];
roty(a, p) := [ sin(a)*p[3] + cos(a)*p[1], p[2], cos(a)*p[3] - sin(a)*p[1] ];
rotz(a, p) := [ cos(a)*p[1] - sin(a)*p[2], sin(a)*p[1] + cos(a)*p[2], p[3] ];
b1 : %pi;
b2 : %pi^2;
b3 : %pi^3;
f0(t) := [ cos(t), sin(t), 0 ];
f1(t) := rotx(t/b1, f0(t));
f2(t) := roty(t/b2, f1(t));
f3(t) := rotz(t/b3, f2(t));
T : 400;
plot3d(f3(t)*s, [t, 0, T], [s, 1, 1+1e-2], [grid, 8*T, 1]);