Just to be clear, are you asking if there is a way to download the dataset one time only with a function in the package? I think the simplest way would be to add an "if the file doesn't exist" check, in the function, before the download.
download_shapefile <- function(path) {
if(!file.exists(path)) {
download.file(url=<your hard coded URL>, destfile=path)
}
else(return(paste('Your file is already downloaded at', path)))
}
You would want to add an explanation of that process in the function help, so the user can decide where they want to download the shapefile.
If you are just asking how to download a file locally, the answer is easier 