The version of the package encodes a number of different pieces of information:
- the epoch, before the colon (0 by default, 1 in this case);
- the upstream version number, between the colon and the hyphen (3.6.24);
- the packaging version number, after the hyphen (3.1).
Epochs are used when the upstream versioning isn't increasing, for whatever reason. Version numbers as seen by the packaging tools need to be monotonically increasing for newer releases to be considered as upgrades. In reiserfsprogs' case, in 2002 the version went from 3.x.1b (with an actual 'x') to 3.6.2; 3.6.2 sorts before 3.x.1b, so an epoch was added — 1:3.6.2 sorts after 3.x.1b (which is equivalent to 0:3.x.1b). Debian policy has the details (and applies for Ubuntu versions too).
When you use = syntax with apt-based tools to specify the version you wish to install, you can't specify any version you like: the tools only allow you to choose between the versions available in the repositories you have configured. You can say
sudo apt-get install reiserfsprogs=1:3.6.3-1
(which is the version of 3.6.3 which appeared in the archives, as per the changelog), but that will only work if apt-get can find that version in its repositories (which hasn't been possible for a long time — 3.6.3 will be fifteen years old this year).
If you really need an old version of a Debian package, you can look for them on snapshot.debian.org. Archives of Ubuntu releases are available on old-releases.ubuntu.com. None of these go as far back as reiserfsprogs 3.6.3 though.
As it stands, 3.6.24 is newer than 3.6.3, and the current version of reiserfsprogs does satisfy your requirement.
3.6.2xnewer than3.6.3? Ohhh, I tottally misread it! 24 > 3 :). Woops. I still want to understand the remainder of the question.