Have you looked here: simplified tutorial
Or here: a bit longer tutorial
EDIT: Adding data files is implied in the second tutorial. If you use the second example just before the "Wrapping Up" section, along with the official documentation: Analysis, it looks like you'd specify your data-file dependencies as part of the "datas" subobject when calling the Analysis() function.
EDIT2: From official documentation: "Generally, you will not need to create your own PKGs, as the EXE will do it for you. This is one way to include read-only data in a single-file deployment, however. A single-file deployment including TK support will use this technique."
Example (should be roughly like this):
a = Analysis(...)
pyz = PYZ(a.pure)
pkg = PKG(a.pure, name="PackageName")
exe = EXE(pyz, pkg,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
...)