My first job introduced me to a x.x.x.x format for programs/policies/procedures, and a AAA-xxx-x.x format for forms used by employees. I like it and have exported it to other companies I've worked with. I'll expand on each:
Programs: My entire FS-QMS ends up with this x.x.x.x format. I usually divide my programs into 29 categories, so I'll end up with 1-29.x.x.x as the top level document describing each of the programs. Each document corresponding to that program starts with the second digit. Example: Sanitation program might be 15.0.0.0, Master Sanitation schedules might be described in 15.1.0.0, with procedures for the Master Sanitation items starting 15.1.1.0. Then the equipment sanitation might be described in 15.2.0.0, a procedure on how to sanitize specific equipment might be 15.2.1.0. 15.3.0.0 can describe building sanitation (with procedures in 15.3.1.0 and so on) The format is similar to the way codes like SQF are written, and it allows for infinite addition of new documents in a space that makes the most sense for you and your book. I keep the programs in sequential order in a binder with numbered tabs, helps auditors flip straight to the program/procedure they want to find, and I keep Word docs electronically on company servers in numbered folders for reprinting or if we want to review electronically during an audit.
For Forms: I use the AAA-xxx-x.x where AAA is a three letter code for the department using the form (PRO for production, SAN for sanitation, QA or QAD for quality assurance, MAN for maintenance, WSR for warehouse/shipping/receiving, etc). The first set of numbers is the main document number (I like starting at 100, but you could start at 001). I usually group forms into different 100's (maybe forms starting in 100 for maintenance are basic maintenance records and work orders, 200 series could be the start of PM forms, etc). The final x.x is a version number. It lets me track changes of the form in a change log that isn't directly written on the form (for space savings). My document register shows what the most current version of a form is (version 1.1, 1.5, etc), the decimal for small changes or using the primary number to signify a major overhaul on a form. Employees generally referred to the form by the letters and document number in general practice, like "I need a PRO-101 Startup Checklist", and at a glance I can tell whether they've got the current version 1.4 or if someone accidentally found or had copies of a 1.3 that's now out of date.