You say "in any question url". Take into account that in order to do that you might need to hack the core or everride a very low level function. The result might be unpredictable, particularly if using plugins that rely on the core being untouched.
Also note that how the URL is built has nothing to do with the question page but rather with the page that links to the question page. So the safeset way to change this would be in those other places.
The simplest and safest change you can do to satisfy this requirement in most scenarios would be to add the suffix when generating the items in questions lists. You can do this from the qa-theme.php file, by adding this function, or merging it if it is already there:
function q_item_title($q_item) {
$q_item['url'] .= '.html';
parent::q_item_title($q_item);
}