Well, there are certain spots where you can’t go beach diving during the day due to life guards. They’ll tell you that they are responsible for you if you leave from the beach, so you need to find unguarded beaches or go when the beach is "closed." Pretty much all of the beaches have few hundred yards of public beach, followed by a few hundred yards of condos/homes/private beaches. Usually, you can find parking close by at businesses on A1A and just walk a few yards and "sneak" onto the private beaches.
Pretty much all along the coast you can find a reef within a reasonable distance (100yards). At all the piers in the Broward area most of the reefs typically start just before the end of them. Most have 2-3 different reef lines separated by a couple dozen yards or so. One of the nicer spots, is just south of Port Everglades by John Llyod State Park, there is a fairly large and long reef about a 1/2 mile south of the Inlet. The only downside about this site is that there is a park admission fee and being Port Everglades, typically has a bunch of boat traffic in the general area.