install package with a given version number is installing the latest version of the artifact. Even if i download the particular version locally and try to install that particular version, it will end up installing the latest version, Could you please suggest.
I recommend that you adopt renv as not only is it invaluable for making your work reproducible (and potentially shareable) it has fantastic convenience functions such as a simple @ notation for picking whatever version you want for a given project.
install.packages has no version param, the ... would absorb that option and do nothing with it, therefore the expected behaviour would be as if you ask to install.packages("name"), if you do have a local download you would point to it for installation like this example:
if you dont have it local, and want it from CRAN you wont get the version control by a simple param, thats why tools such as remotes and renv (among others) were created.