No, it isn't. The way to do pull files in is using a genrule or a custom Skylark rule to copy them.
Something along the lines of this should work for the genrule approach:
files = ["//data:a_file.txt", "//data:some/subdirectory/another_file.txt"]
genrule(
name = 'copy_the_files',
srcs = files,
outs = [f.replace('the_directory', 'another_place/folder') for f in files],
cmd = '\n'.join(['mkdir -p $$(dirname $(location %s)) && cp $(location %s) $(location :%s)' % (f, f, f.replace('the_directory', 'another_place/folder')) for f in files]),
)
Depending on exactly what you're doing, writing that (or at least the part that does the actual renaming) as a skylark macro and/or putting the output names in a separate list and using zip when generating the cmd to avoid duplicating that logic might make sense.