It depends on your MLS. Before discussing difficulty, realize that this may not be an option.
As for difficulty, again it depends on both the MLS in question and your level of expertise (or of your staff).
There are different ways this can be one.
The easiest (but least flexible) is to have a framed out page. That is, the "shell" is your page, hosted on your server (or more likely, your hosting company's server) and the "inside" is within a frame, hosted on the MLS's site server.
If done correctly, cosmetically a use won't know that the "inside" is not hosted by the same people as the "shell." The look and feel of the MLS portion of the page, however, would not be controlled by you.
A more flexible approach is to have an API to program against. Here, you have full control of your site. Basically there is an intermediary between your site and MLS. A user comes to your site, enters data into your "MLS page." Your page interects with an API (i.e. a webservice) which goes out to the MLS, fetches the data, and returns it back to your server. You then have full control of how to display that data.
Sorry for the techno-babble. Its good for you though

Look up the terms you don't know, learn about them, and see how you can use some of that technology to create a better web experience for your customers
