Funny how the help, helped.
Bit like RTFM seems to help when you can't understand something, or worse, when you blow something up, then read the manual and go, l shouldn't have done that.
The description of the # indicator in SLC/PLC5 instruction addresses is an indication the the instruction is referencing a "base plus offset" address. The SLC/PLC5 processors maintained a "firmware" address offset register. This allowed you to do indexed addressing without the "indirect addressing" address definition format. The offset register (one of the S: registers) would contain a value that would be added to the base address indicated in the instruction to determine the actual address being accessed. So if and address was defined in an instruction like #N7:0 and the value in the offset register was 12 the actual address being reference would be N7:12.
Interestingly the "file" instructions used this same address offset register to perfom their functions. So a COP instruction would need to have its addresses defined using the # indicator in order to increment through the data as it copied. In many cases the instructions won't babysit the value of the offset register when they are done with it, which can lead to some interesting results.
You can use the # indicator in any address. You just have to understand what it means. A young programmer once use the # indicator in the source of a move instruction simply because he saw it used that way the first time he saw a MOV used in a program. He was completely confused when he was getting what looked like arbitrary data in the destination of the MOV. The instruction was simply using the random value that happened to be in the offset register to index into an address he didn't expect.