Selenium is not a BDD tool. It's an automation tool. They often get confused though! The usual layering goes like this:
BDD steps in plain English
|
"Glue" that ties to a BDD framework
|
Steps in code (in whatever BDD framework in whatever language you choose)
|
Page Objects
|
Automation
For web the Automation is often Selenium; there are other tools for other mediums like Desktop. BDD frameworks are things like Cucumber, JBehave, SpecFlow, which usually interpret Gherkin syntax and match it up to code steps. You could use Selenium without Cucumber, and vice-versa, but it's very common to see them used together.
With respect to easing the setup, often people miss out the Page Object pattern, which represents the capabilities of a page or widgets on a page, making each component much easier to handle and hiding the automation details away from the steps. This could make the automation side of things easier for you particularly in terms of maintenance.
It's also not necessary to use a BDD framework. You can use plain old unit-testing frameworks, as long as you can call through to the automation. I like to build my own DSL which is English-like and perfectly readable by non-technical stakeholders (note that I still usually use the Page Object pattern too). This could make the BDD side easier too.
If you have a very thin front-end you can also reasonably test at the system API level, bypassing HTML automation entirely. Note though that the front-end will still need testing.