I think that the answer to your second question is fairly clear; the DAL should have its own project.
As to the first, it really depends on how much commonality there is vetween the different application needs. You also need to consider whether spilitting into several BLL DLLs will increase the complexity for maintenance of the Business logic.
I would urge caution on your last item of accessing the DAL as well as the BLL from the same UI. This means that you could have dependancy on both. It may be better to put simple methods into the BLL which just call the DAL functionality and return the answer so that everything goes from the UI to the BLL to the DAL.
Of course, with all of these things, you need to think about which answers will suit your applications and development methodology the best.