If i understand your question correctly then you should use the input classes for this rather than the event based ones.
Assuming you're on 2.0, this can be done by querying sf::Mouse and sf::Keyboard. Use sf::Input for 1.6.
Pseudocode for SFML2:
if(sf::Mouse::isButtonPressed(sf::Mouse::Left) && sf::Keyboard::isKeyPressed(sf::Keyboard::LShift))
//Do stuff
Pseudocode for SFML1.6:
const sf::Input &input = window.GetInput();
if(input.IsMouseButtonDown(sf::Mouse::Left) && input.IsKeyDown(sf::Key::LShift))
//Do stuff
As things get more complex using something like thor::Action (http://www.bromeon.ch/libraries/thor/v2.0/tutorial-actions.html) might be a better solution.
If you want to handle both realtime input and events uniformly, you can take a look at Thor's Actions I have written (see thePyro_13's link):
thor::ActionMap<std::string> map(...);
auto click = thor::Action(sf::Mouse::Left, thor::Action::PressOnce);
auto ctrl = thor::Action(sf::Keyboard::LCtrl) || thor::Action(sf::Keyboard::RCtrl);
map["ctrl-click"] = click && ctrl;
// in game loop
if (map.isActive("ctrl-click"))
{
// do something
}