If it was shipped (true) Fedex, and not Fedex Smartpost or Home Delivery, you can go down to the local station and pick it up. I'd call first to make sure the sender didn't specify that it can't be picked up and must be delivered.
As for why they are holding it, it's because FedEx is a numbers game, and it's the individual driver's decision to take or leave a package not due that day. Each driver has a certain number of deliveries (stops) per hour they need to hit. If the driver is busy enough today, no reason/incentive for him to take that package early. This sounds crappy, but UPS is worse. The drivers do not load their own trucks, and the package handlers that do, are instructed not to load anything that isn't for delivery that day. That's why you'll sometimes get tomorrow's package today with FedEx, but rarely with UPS (palletized shipments excluded from this whole post).
Plus they show up at 9-10am versus 2-5pm at night when delivered. I wish UPS would do the same.
When FedEx delivers to you before 10:30 am, it's because the package (or at least one in the mix that was delivered) was sent via Priority Overnight. As a former FedEx driver, I can tell you that with the untmost of certainty. A driver can get 'dinged' on his review if he's delivering non-Priority overnight packages alone before 10:30am. But if he has one PO going to you, and 200 others, he can deliver them all at once.
UPS has a similar service, which will also get it to you before 10:30am (not sure what they call it).