Yes, there is shop in old city of Dubrovnik, inside one of the narrow streets.
However, it is anything but cheap, but it is good to know there is a shop should you need something. Dubrovnik itself is not cheap place for tourists.
Another nearest shop that I know of would be in town of Korcula. It is called Orca and it is also not that cheap (but it is ok I guess and they can order something for you, should you have a time to wait for delivery).
I do not know of any other shops south of Split (and it is really south of Split that you'll find Lampuga in late September).
For licence and regulations, see this thread:
Croatia: spearfishing licence 2009.
Again, licence is rather difficult to get, if you do not know exactly where to look - in southern Croatia that is.
I know for sure you can do it in Dubrovnik, Korcula and Ploce.
Licence forms are distributed from Rijeka (in NW). It happened to me few times that they did not have the form in the local office and I had to wait until package with licences arrived three days later. Obviously, if you are not in Korcula or Dubrovnik, you have to make a trip over there. Some of these guys work only 9-12, so if you turn up too late you'll have to come back another day.
Some of the guys are not in the office even 9-12 - they might be fishing, or in the fields or attending some other business - so phone number is really helpful.
I am not criticising anyone, I am merely pointing that, if not prepared, you could be wasting half of your holiday just chasing the licence. Even when you get all the information, it might prove not to be straight forward.
If you are really lucky, you might find that some local club has few licences available.
This is very useful if you happen to be in the Korcula area -
spearfishing club is called "Kanjac" and the mobile number of guy who can sell you licence is 0917946646.
You also need to know good fishing spots, otherwise it might be just waste of time.