I have a 3D Printer that I monitor with my Raspberry Pi, but I would like to connect the pi via USB to the printer so I can also use it as external storage for the printer as well. Is there a way I can use the pi 3 B as external storage via USB connection?
No, you can't. Only Raspberry Pi Zero (W) and the Compute Module support the USB gadget mode that enables the emulation of a USB mass storage device while the USB ethernet gadget seems to work best.
This is due to the architecture. The Pi Zero has the USB port connected directly to the SoC. While all model B have a USB hub in between that blocks off the SoC from working in the way required to offer you access to the device.
As for model A, I had no success using them. I assume this is due to the large USB-A connector. Only USB-micro A offers the OTG pin which decides who is the host and who the client in the USB connection.
If you are using OctoPi to monitor your printer then, depending on the printer and it's firmware, you can use the web interface to upload GCode files to the Pi's storage. Once uploaded to the Pi you can send the GCode to the printer.